如何获得给定要求的 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 更强大