JSONPath: различия между версиями
Материал из Planfix
Artem (обсуждение | вклад) Нет описания правки |
Artem (обсуждение | вклад) Нет описания правки |
||
Строка 23: | Строка 23: | ||
<div style="background-color:#f9f9f9; border:1px solid #ddd; padding:1em;font-family: monospace,Courier;margin:0;"> | <div style="background-color:#f9f9f9; border:1px solid #ddd; padding:1em;font-family: monospace,Courier;margin:0;"> | ||
{ | { | ||
< | <p style="padding-left:10px;"> | ||
"firstName": "Иван",<br> | "firstName": "Иван",<br> | ||
"lastName": "Иванов", | "lastName": "Иванов", | ||
</ | </p> | ||
< | <p style="padding-left:10px;">"address": {</p> | ||
< | <p style="padding-left:20px;"> | ||
"streetAddress": "Московское ш., 101, кв.101",<br> | "streetAddress": "Московское ш., 101, кв.101",<br> | ||
"city": "Ленинград",<br> | "city": "Ленинград",<br> | ||
"postalCode": 101101<br> | "postalCode": 101101<br> | ||
</ | </p> | ||
<p style="padding-left:10px;"> },</p> | <p style="padding-left:10px;"> },</p> | ||
<p style="padding-left:10px;">"phoneNumbers": [</p> | <p style="padding-left:10px;">"phoneNumbers": [</p> |
Версия от 14:29, 12 октября 2020
Приходящие в ПланФикс письма по E-mail можно разбирать, используя JSON. JavaScript Object Notation — это формат для хранения и обмена информацией, доступной для чтения человеком. Есть два основных элемента объекта JSON: ключи и значения.
Пример:
{"city":"New York", "country":"United States"}
- ключи — city и country;
- значения — New York и United States.
ПланФикс умеет разбирать письма в таком формате и добавлять нужные данные в инфоблоки. Для этого используется библиотека JsonPath.
Пример
- Передаём в ПланФикс E-mail с текстом в формате JSON:
{
"firstName": "Иван",
"lastName": "Иванов",
"address": {
"streetAddress": "Московское ш., 101, кв.101",
"city": "Ленинград",
"postalCode": 101101
},
"phoneNumbers": [
"812 123-1234",
"916 123-4567"
]
}
- Из JSON нам необходимы следующие данные:
{
"firstName": "Иван",
"lastName": "Иванов",
"address": {
"streetAddress": "Московское ш., 101, кв.101",
"city": "Ленинград",
"postalCode": 101101
},
"phoneNumbers": [
"812 123-1234",
"916 123-4567"
]
}
- Настраиваем такое правило для разбора почты: