You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Logic Apps中Parse JSON后传递对象至JSON to Table的表达式问题

解决Azure Logic Apps中JSON字符串转对象并传入JSON to Table的问题

问题核心

触发器返回的是JSON格式的字符串,而JSON to Table操作要求输入为JSON对象/数组类型(JContainer),直接传递字符串会触发类型转换错误:Unable to cast object of type 'Newtonsoft.Json.Linq.JValue' to type 'Newtonsoft.Json.Linq.JContainer'。你尝试的@{body('Parse_JSON')}报错,是因为表达式语法使用错误。

解决方案

方案1:使用Parse JSON操作(推荐,带类型校验)

  1. 添加Parse JSON操作,将触发器的Content(即输入的JSON字符串)作为该操作的输入。
  2. 生成Schema:点击操作中的「Use sample payload to generate schema」,粘贴示例JSON,自动生成类型校验Schema。
  3. 在JSON to Table的Data字段,直接选择Parse JSON操作的Body(动态内容列表中选择);如果手动写表达式,直接写body('Parse_JSON')即可——不需要额外套@{ },这是你之前报错的核心原因(表达式输入框中无需外层的@{ },该符号仅用于在普通文本框中嵌入表达式)。

方案2:用表达式直接转换字符串为对象

如果不需要类型校验,可跳过Parse JSON,直接在JSON to Table的Data字段输入以下表达式:

json(triggerBody()?['Content'])

json()函数会将字符串类型的输入直接转换为JSON对象,满足JSON to Table的输入要求。

方案3:通过变量中转(优化版)

初始化一个类型为Object的变量,赋值时使用表达式json(triggerBody()?['Content']),之后将该变量传入JSON to Table的Data字段即可。

示例输入JSON

{
  "comment": null,
  "data": {
    "id": "123",
    "Person": {
      "Name": "Testmann",
      "Firstname": "Tim"
    },
    "Timestamp": "2023-03-22T20:16:04.663252+01:00",
    "Fotos_Apppletree": [
      {
        "photo_description_1": null,
        "_1_Foto_Appletree": {
          "fileId": "10",
          "fileName": "Appletree_2023_03_22_19_16_09.png",
          "timestamp": "2023-03-22T19:16:09.082243Z",
          "size": 63865,
          "url": "https://path10"
        }
      },
      {
        "photo_description_2": null,
        "_1_Foto_Appletree": {
          "fileId": "11",
          "fileName": "Appletree_2023_03_22_19_16_15.png",
          "timestamp": "2023-03-22T19:16:15.082243Z",
          "size": 63865,
          "url": "https://path11"
        }
      }
    ]
  }
}

内容的提问来源于stack exchange,提问作者Anna

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 23:32:56