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

如何使用JSONPath获取过滤后JSON数组的最后一个元素ID

获取符合条件的最后一个ID的JSONPath解决方案

修正后的合法JSON(补充语法缺失,符合严格JSON规范)

{
  "token": "xxxx",
  "files": [
    {
      "id": 1,
      "deleted": true
    },
    {
      "id": 2,
      "deleted": false
    },
    {
      "id": 3,
      "deleted": false
    }
  ]
}

解决方案

根据不同JSONPath实现的语法支持,提供两种可行表达式:

方案1:支持负索引的JSONPath实现(如Jayway、jsonpath-ng-ext)

直接过滤出未删除文件后,取数组最后一个元素的ID:

$..files[?(@.deleted==false)][-1].id

执行后返回结果:3

方案2:仅支持原始规范的JSONPath实现(不支持负索引)

通过length()函数计算过滤后ID数组的长度,取最后一个元素:

$..files[?(@.deleted==false)].id[length($..files[?(@.deleted==false)].id)-1]

执行后返回结果:3

注:优先选择方案1,大部分现代JSONPath解析工具都支持负索引写法,语法更简洁高效。

内容的提问来源于stack exchange,提问作者Ananda Bhavani Gedela

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 17:44:57