Logi c App - инициализировать переменную из JSON Content - PullRequest
0 голосов
/ 28 мая 2020

Я новичок в приложении Logi c APP, и мне было интересно, как разбирать атрибуты Json. Другими словами, передача указанного ниже Джейсона в очередь (значения будут меняться, поскольку мы отправляем разные Json в очередь)

[ 
  {
     "name":"test",
     "country":"USA" 

  } 
] 

Я пытаюсь получить имя и страну

Здесь шаги, которые я предпринял enter image description here

, затем я добавил JSON действие синтаксического анализа (не уверен, что это правильное действие) enter image description here enter image description here

тогда (я просто пытаюсь получить имя и страну атрибутов)

enter image description here

Тогда я получаю ошибка enter image description here

1 Ответ

0 голосов
/ 29 мая 2020

Для выполнения этого требования, пожалуйста, обратитесь к шагам, которые я предоставил ниже:

1. Сначала я инициализирую переменную с именем «myData», чтобы имитировать ваши данные json. enter image description here

2. Чтобы получить значение name и country, мы просто делаем следующее: enter image description here Выражения для name и country следующие:

variables('myData')[0]?['name']
variables('myData')[0]?['country']

Поскольку ваше приложение logi c запускается с триггером «Когда сообщение получено в очереди (блокировка просмотра)», похоже, что ваши данные json поступают из триггера. Поэтому вам нужно изменить выражение на что-то вроде:

triggerBody()[0]?['name']

Если ваши данные json не поступают из триггера (сообщение служебной шины), сообщите мне и предоставьте более подробную информацию, или вы можно щелкнуть «Просмотреть код», чтобы увидеть его выражение, а затем изменить выражение в действии инициализации переменной.

Обновление:

Кажется, мы не можем проанализировать «содержимое» непосредственно из триггера, вы можете инициализировать переменную для хранения «содержимого» из триггера очереди и использовать действие «Parse JSON» для анализа этой переменной «содержимого». enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...