如何从Azure存储队列中返回JSON?

问题描述 投票:0回答:1

我有一个逻辑应用程序,将JSON放入队列中。

enter image description here

不可能更简单。但是,当我使用触发器生成新消息时,原始输出显示:

    "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示例。
  • 我不正确地存储JSON吗?

我创建了一个NodeJS函数来逐字地返回带有JSON内容类型标头的JSON.parse()。这似乎是一种巨大的资源浪费。

编辑:我工作的一个解决方案是当我添加到队列时手动base64编码,然后当我从队列中拉出时@json(decodeBase64(triggerBody()?['MessageText']))。结果有效,但不会在引擎盖下编码两次?

azure-logic-apps
1个回答
1
投票

我也试图理解你的问题..我尝试将消息添加到队列并在逻辑中检索但我没有看到任何这样的问题..我错过了什么吗?

enter image description here

在逻辑应用中检索消息

enter image description here

我在电子邮件中得到这样的输出

{"ItemInternalId":"ab5c-4859-a755","LastChangeDate":"2019-04-02T13:37:32.9638012Z","is_current_employee":true}
© www.soinside.com 2019 - 2024. All rights reserved.