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

如何通过JsonPath表达式提取JSON中的首个ID值

提取动态属性结构中首个ID的通用JsonPath表达式

问题背景

给定JSON数据如下,需要提取其中首个ID值(900731):

{
    "content": {
        "67215d9d-8a31-4397-a5e7-e694026034be": [
            {
                "id": 900731
            }
        ],
        "e62d8fbf-86a7-4c59-afaa-469d16b90645": [
            {
                "id": 900732
            }
        ],
        "9ae6f7dd-177a-4895-9a90-aa7b75de11bd": [
            {
                "id": 900730
            }
        ]
    }
}

已尝试的表达式及问题:

  • $.content..id、$.content.*.*.id、$.content.*[0].id:均返回包含所有ID的数组[900731,900732,900730],无法单独获取首个ID
  • $.content..id[0]、$.content.*.*.id[0]、$.content.*[0].id[0]:无法生效
  • $.content['67215d9d-8a31-4397-a5e7-e694026034be'][0].id:可提取目标值,但属性名动态变化,不具备通用性

通用解决方案

使用以下JsonPath表达式可直接提取首个ID值:

$..id[0]

该表达式逻辑:

  1. $..id递归遍历所有层级的id字段,返回包含所有ID的数组
  2. [0]取数组的第一个元素,即目标值900731

若需精准限定在content节点下,可使用:

$.content.*[0].id[0:1]

这里[0:1]通过切片语法取第一个元素,部分JsonPath实现也支持直接用[0]。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 04:55:30