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

如何通过JSONPath获取符合条件的数组项中的单个Lossyear值?

如何从JSONPath筛选结果中获取单个值?

现有如下LossHistory JSON数据:

{"LossHistory": {
  "LossDetails": [
    {
      "LineOfBusinessCode": "General Liab - Excess",
      "Lossyear": 2018,
      "NumberOfTotalClaims": 8,
      "PaidLosses": 500,
      "PaidExpense": 80000,
      "Outstandingreserve": 800,
      "TotalIncurred": 800,
      "valuationDate": "2023-12-06T00:00:00",
      "LargeClaim": 700,
      "NumberOfOpenClaims": 6,
      "carrierName": "Hrst",
      "ClaimSource": "Manual"
    },
    {
      "LineOfBusinessCode": "General Liab - Excess",
      "Lossyear": 2019,
      "NumberOfTotalClaims": 8,
      "PaidLosses": 500,
      "PaidExpense": 80000,
      "Outstandingreserve": 800,
      "TotalIncurred": 800,
      "valuationDate": "2023-12-06T00:00:00",
      "LargeClaim": 700,
      "NumberOfOpenClaims": 6,
      "carrierName": "Hrst",
      "ClaimSource": "Manual"
    },
    {
      "LineOfBusinessCode": "Auto",
      "Lossyear": 2018,
      "NumberOfTotalClaims": 8,
      "PaidLosses": 500,
      "PaidExpense": 80000,
      "Outstandingreserve": 800,
      "TotalIncurred": 800,
      "valuationDate": "2023-12-06T00:00:00",
      "LargeClaim": 700,
      "NumberOfOpenClaims": 6,
      "carrierName": "Hrst",
      "ClaimSource": "Manual"
    }
  ]
}}

使用JSONPath表达式:

$..LossDetails[?(@.LineOfBusinessCode == 'General Liab - Excess')].Lossyear

得到的结果是一个数组:

[
   2018,
   2019
]

若要获取数组中的单个值(比如第一个元素2018),只需在原JSONPath表达式末尾添加索引下标即可,数组下标从0开始计数。

修改后的JSONPath表达式:

$..LossDetails[?(@.LineOfBusinessCode == 'General Liab - Excess')].Lossyear[0]

执行后将得到单个值:

2018

如果需要获取第二个值2019,只需把下标改为[1]即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 18:15:15