JSONPath: различия между версиями

Материал из Planfix
Перейти к: навигация, поиск
Нет описания правки
Нет описания правки
Строка 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;">
<span style="padding-left:10px;">
"firstName": "Иван",<br>
"firstName": "Иван",<br>
"lastName": "Иванов",
"lastName": "Иванов",
</p>
</span>
<p style="padding-left:10px;">"address": {</p>
<span style="padding-left:10px;">"address": {</span>
<p style="padding-left:20px;">
<span style="padding-left:20px;">
"streetAddress": "Московское ш., 101, кв.101",<br>
"streetAddress": "Московское ш., 101, кв.101",<br>
"city": "Ленинград",<br>
"city": "Ленинград",<br>
"postalCode": 101101<br>
"postalCode": 101101<br>
</p>
</span>
<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:28, 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"
  ]
}


  • Настраиваем такое правило для разбора почты:

MlwbbU.png