如何获得给定要求的 json 路径?
How to get json path for the given requirement?
我需要为给定的 json 结构找到 json 路径
{
"name": "ninja",
"contry": "India",
"Account": [
{
"id": "123",
"orgId": 223,
"investment": [
{
"invetmentId": "111",
"name": "India tech",
"performance": [
{
"id": "123",
"performanceSet": [
{
"amount": "210",
"currency": "YEN"
},
{
"amount": "231",
"currency": "USD"
},
{
"amount": "233",
"currency": "USD"
},
{
"amount": "250",
"currency": "IND"
}
],
"loyal": "250"
}
]
}
]
}
]
}
这里我需要从货币为美元的 performanceSet 中获取金额,并且只会 return 首次出现该值的金额?
应该return
[
"231"
]
我认为使用 jsonpath 是不可能的。
您可以使用以下 jsonpath。
$.Account[0].investment[0].performance[0].performanceSet[?(@.currency=='USD')]
这会给你
[
{
"amount": "231",
"currency": "USD"
},
{
"amount": "233",
"currency": "USD"
}
]
在这里您可以编程 select 第一个元素并进一步阅读 amount
。
您可以尝试使用 js2xml 将 json 转换为 XML,然后在其上使用 xpath。 XPath 更强大
我需要为给定的 json 结构找到 json 路径
{
"name": "ninja",
"contry": "India",
"Account": [
{
"id": "123",
"orgId": 223,
"investment": [
{
"invetmentId": "111",
"name": "India tech",
"performance": [
{
"id": "123",
"performanceSet": [
{
"amount": "210",
"currency": "YEN"
},
{
"amount": "231",
"currency": "USD"
},
{
"amount": "233",
"currency": "USD"
},
{
"amount": "250",
"currency": "IND"
}
],
"loyal": "250"
}
]
}
]
}
]
}
这里我需要从货币为美元的 performanceSet 中获取金额,并且只会 return 首次出现该值的金额?
应该return
[
"231"
]
我认为使用 jsonpath 是不可能的。
您可以使用以下 jsonpath。
$.Account[0].investment[0].performance[0].performanceSet[?(@.currency=='USD')]
这会给你
[
{
"amount": "231",
"currency": "USD"
},
{
"amount": "233",
"currency": "USD"
}
]
在这里您可以编程 select 第一个元素并进一步阅读 amount
。
您可以尝试使用 js2xml 将 json 转换为 XML,然后在其上使用 xpath。 XPath 更强大