我试图从使用JSON-路径的JSON字符串的值。 我怀疑我的问题是相关应用后谓语从JSONPath阵列结果获取特定对象 ,但该链接并没有提供给我的答案。 我jsonfile看起来是这样的:
{
"success": true,
"errorKey": null,
"results": {
"payments": [
{
"name": "current",
"all": {
"revenue": 390.32,
"count": 1
}
},
{
"name": "sameYesterday",
"all": {
"revenue": 613.24,
"count": 4
}
},
{
"name": "yesterday",
"all": {
"revenue": 613.24,
"count": 3
}
}
]
}
}
我想昨天的支付数。 以下查询肯定的作品,但它依赖于JSON数组中元素的位置,它可以改变:
ReadContext ctx = JsonPath.parse(content);
ctx.read("$.results.payments[2].all.count");
我试图与名称匹配的工作:
ctx.read("$.results.payments[?(@.name=='yesterday')].all.count[0]")
我的问题是,这个总是返回一个空数组。 ctx.read( “$。results.payments [?(@。名== '昨天')]。all.count” 返回[3](在逻辑上)和I假定取第一元件从结果阵列就足够了,但我的结果数组总是空空的。我在做什么错?