jsonpath - 如何获取给定要求的 json 路径?
问题描述
我需要为给定的 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 中获取货币为 USD 的金额,并且只会返回它第一次出现这种值的金额?
它应该返回
[
"231"
]
解决方案
我认为使用 jsonpath 是不可能的。
您可以使用以下 jsonpath。
$.Account[0].investment[0].performance[0].performanceSet[?(@.currency=='USD')]
这会给你
[
{
"amount": "231",
"currency": "USD"
},
{
"amount": "233",
"currency": "USD"
}
]
在这里,您可以以编程方式选择第一个元素并进一步阅读amount
.
推荐阅读
- google-maps - 具有网络链接和数千个多边形的 KML
- c++ - CreateBitmap 图像未在窗口上打印
- typescript - 在没有订阅的情况下将 Observable 结果与现有的 RxJS 主题结合起来
- c# - UI Components not instantiating on Xamarin.IoS on Visual Studio for Mac Community when added from designer
- python - 在 AWS 上的现有 EC2 实例中运行 Python 脚本
- swift - Is this code converting the KUTTypeFileURL as a String, then converting it to a NSPasteboard.PasteboardType?
- .net - 在 VB.NET 中使用本地 X.509 证书 .PFX 解密 XML 文件
- python - Makefile shell 函数和环境变量
- scala - 如何为自定义火花对象提供编码器?
- cmd - VBScript 使用 CMD 运行 - 引号和空格正在破坏代码