我有一个逻辑应用程序,将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}"
}
当我尝试使用身体时,这让我头疼不已,特别是当我将原始MessageText传输到我的Liquid Template时。我尝试了表达式json(triggerBody())
,但这不起作用,因为第一个“/”而失败。我尝试使用Parse JSON操作,但这不起作用,因为它只是为了将JSON映射到模式而失败,因为MessageText
无论如何都是一个字符串。
JSON.parse(triggerBody())
等价物?文档不显示转义的JSON示例。我创建了一个NodeJS函数来逐字地返回带有JSON内容类型标头的JSON.parse()
。这似乎是一种巨大的资源浪费。
编辑:我工作的一个解决方案是当我添加到队列时手动base64编码,然后当我从队列中拉出时@json(decodeBase64(triggerBody()?['MessageText']))
。结果有效,但不会在引擎盖下编码两次?