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

Материал из Planfix
Перейти к: навигация, поиск
Нет описания правки
Нет описания правки
Строка 21: Строка 21:
*Передаём в ПланФикс E-mail с текстом в формате JSON:
*Передаём в ПланФикс E-mail с текстом в формате JSON:


<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;">
{
{
<p style="padding-left:10px;">
<p style="padding-left:10px;">
Строка 40: Строка 40:
<p>}</p>
<p>}</p>
</div>
</div>


*Из JSON нам необходимы следующие данные:
*Из JSON нам необходимы следующие данные:
{
<div style="background-color:#f9f9f9; border:1px solid #ddd; padding:1em;">
  "<span stlye="red">firstName</span>": "Иван",
{
  "lastName": "Иванов",
<p style="padding-left:10px;">
  "address": {
"firstName": "Иван",<br>
      "streetAddress": "Московское ш., 101, кв.101",
"lastName": "Иванов",
      "city": "Ленинград",
</p>
      "postalCode": 101101
<p style="padding-left:10px;">"address": {</p>
  },
<p style="padding-left:20px;">
  "phoneNumbers": [
"streetAddress": "Московское ш., 101, кв.101",<br>
      "812 123-1234",
"city": "Ленинград",<br>
      "916 123-4567"
"postalCode": 101101<br>
  ]
</p>
}
<p style="padding-left:10px;"> },</p>
<p style="padding-left:10px;">"phoneNumbers": [</p>
<p style="padding-left:20px;">"812 123-1234",<br>
"916 123-4567"</p>
<p style="padding-left:10px;">]</p>
<p>}</p>
</div>





Версия от 14:30, 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