问题描述
我需要找到给定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",{
"amount": "250","currency": "IND"
}
],"loyal": "250"
}
]
}
]
}
]
}
这里我需要从PerformanceSet中获取货币为美元的金额,并且只返回第一次出现该金额的金额?
它应该返回
[
"231"
]
解决方法
我认为使用jsonpath不可能。
您可以使用以下jsonpath。
$.Account[0].investment[0].performance[0].performanceSet[?(@.currency=='USD')]
这会给你
[
{
"amount": "231","currency": "USD"
},{
"amount": "233","currency": "USD"
}
]
您可以在此处以编程方式选择第一个元素,然后进一步阅读amount
。
您可以尝试使用js2xml将json转换为XML,然后在同一路径上使用xpath。 XPath功能更强大