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

如何使用JSONLogic提取JSON对象数组中指定ID的元素?

使用JSONLogic从退款详情中提取指定ID的记录

要从refunds节点的detail数组里提取id=12345的记录,用JSONLogic的filter操作完全可以实现,针对对象数组的筛选逻辑和基础类型数组的核心思路一致,只是需要在条件里引用对象的属性字段。

核心实现逻辑

用filter遍历目标数组,通过判断每个对象的id字段是否等于目标值来筛选:

{
  "filter": [
    {"var": "refunds.detail"},
    {"==": [{"var": "id"}, 12345]}
  ]
}
  • 第一个参数{"var": "refunds.detail"}指定要筛选的目标数组
  • 第二个参数是筛选条件:用==比较当前数组元素的id(通过{"var": "id"}引用)和12345

执行该表达式后,会返回包含匹配对象的数组:

[{"id":12345,"amount":7}]

若需直接获取单个对象(而非数组)

可以配合get操作取筛选结果数组的第一个元素:

{
  "get": [0, {
    "filter": [
      {"var": "refunds.detail"},
      {"==": [{"var": "id"}, 12345]}
    ]
  }]
}

执行后直接返回匹配的对象:

{"id":12345,"amount":7}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 18:32:35