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

Azure Logic App中修改JSON属性名并删除指定属性的实现方案

Azure Logic App JSON字段转换最优方案

你当前用嵌套replace做字符串替换的方式存在稳定性缺陷,容易误替换其他字段中匹配的字符串,且无法灵活删除字段,推荐直接用Logic App内置的选择(Select) 动作实现,无需集成账户、无需Liquid模板、也无需For_each循环,是最简单直接的方案,操作如下:

操作步骤

  1. 保留原有HTTP请求动作,删除原有Compose动作,新增选择动作,设置运行条件为HTTP请求成功后执行
  2. 选择动作的「来自」配置为 body('HTTP') (即HTTP请求返回的原始数组)
  3. 在「映射」区域手动添加你需要保留的字段,按需求重命名键名,不需要的id字段不添加映射即可自动删除,映射规则如下:
  • 输出键名market:对应值填'BitcoinUsdt'即可;如果接口可能返回其他market值,只需要替换值为btcusdt的条目,可写表达式@replace(item()?['market'], 'btcusdt', 'BitcoinUsdt')
  • 输出键名price:对应值填item()?['price']
  • 输出键名BitcoinAmount:对应值填item()?['volume']
  • 输出键名UsdtAmount:对应值填item()?['funds']
  • 输出键名created_at:对应值填item()?['created_at']
  • 输出键名side:对应值填item()?['side']
  1. 后续需要使用转换后的数据时,直接引用body('选择')即可。

对应动作定义代码示例

你可以直接替换原有动作的代码段使用:

"actions": {
    "HTTP": {
        "inputs": {
            "headers": {
                "X-API-Key": "..."
            },
            "method": "GET",
            "uri": "https://api.wazirx.com/api/v2/trades?market=btcusdt"
        },
        "runAfter": {},
        "type": "Http"
    },
    "转换交易数据": {
        "inputs": {
            "from": "@body('HTTP')",
            "select": {
                "BitcoinAmount": "@item()?['volume']",
                "UsdtAmount": "@item()?['funds']",
                "created_at": "@item()?['created_at']",
                "market": "BitcoinUsdt",
                "price": "@item()?['price']",
                "side": "@item()?['side']"
            }
        },
        "runAfter": {
            "HTTP": [
                "Succeeded"
            ]
        },
        "type": "Select"
    }
}

方案优势

  • 属于结构级转换,不会像字符串替换那样出现误替换其他字段内容的问题
  • 不需要额外资源,纯内置动作无额外成本
  • 配置可视化,后续修改字段映射直接在界面调整即可,不需要维护复杂的嵌套表达式
  • 性能远高于For_each循环遍历处理数组的方案

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 16:24:04