如何通过JSONPath获取最后一条Order记录的invcNr值?
获取最后一条Order记录的发票编号(JSONPath方案)
最终可用的JSONPath表达式
$.[?(@.tranTxt=="Order")][-1].invcNr
分步解释
- 先筛选出所有
tranTxt为Order的记录:$.[?(@.tranTxt=="Order")],得到包含两条符合条件记录的数组 - 用
[-1]定位到筛选数组的最后一条记录(用[-1:]也可行,返回单元素数组后取.invcNr结果一致) - 最后通过
.invcNr提取该记录的发票编号
验证示例
给定测试JSON数据:
[ { "tranDt": "2022-06-15", "tranSeqNr": 676351522, "tranTxt": "Order", "invcNr": "73811514" }, { "tranDt": "2022-06-30", "tranSeqNr": 710063627, "tranTxt": "Pending" }, { "tranDt": "2022-08-11", "tranSeqNr": 795465799, "tranTxt": "Order", "invcNr": "73980890" }, { "tranDt": "2022-08-17", "tranSeqNr": 806178419, "tranTxt": "Pending" } ]
使用上述表达式会直接返回结果:"73980890"
内容的提问来源于stack exchange,提问作者Zoltan
相关产品推荐
相关产品推荐

