У меня есть приложение логики, которое помещает JSON в очередь.
Не может быть проще.Но затем, когда я использую триггер для новых сообщений, необработанный вывод показывает это:
"body": {
"MessageId": "e705a261-f2c4",
"InsertionTime": "Tue, 02 Apr 2019 14:22:24 GMT",
"ExpirationTime": "Tue, 09 Apr 2019 14:22:24 GMT",
"PopReceipt": "AgAAAAMAAAAAA=",
"TimeNextVisible": "Tue, 02 Apr 2019 19:03:32 GMT",
"DequeueCount": "69",
"MessageText": "{\"etag\":\"\",\"ItemInternalId\":\"ab5c-4859-a755\",\"LastChangeDate\":\"2019-04-02T13:37:32.9638012Z\",\"is_current_employee\":true}"
}
Это вызывает у меня сильную головную боль, когда я пытаюсь использовать тело, особенно когда я передаю этот rawMessageText на мой жидкий шаблон.Я попытался выражение json(triggerBody())
, и это не работает, это не удается из-за первого "/".Я попытался использовать действие Parse JSON, но это не работает, потому что оно просто предназначено для сопоставления JSON со схемой и завершается ошибкой, поскольку MessageText
в любом случае является строкой.
- Есть ли
JSON.parse(triggerBody())
эквивалент?В документах не показаны экранированные примеры JSON. - Неправильно ли я храню JSON?
Я создал функцию NodeJS, которая буквально возвращает JSON.parse()
с заголовком типа содержимого JSON.Это кажется огромной тратой ресурсов.
EDIT: Одно из решений, которое я получил, - вручную кодировать base64 при добавлении в очередь и затем @json(decodeBase64(triggerBody()?['MessageText']))
при извлечении из очереди.Результат работает, но неужели кодирование дважды под капотом?