java 使用jsonpath从JSONArray提取数据

plupiseo  于 2023-01-01  发布在  Java
关注(0)|答案(2)|浏览(423)

我有一个包含客户数据的JSON文件,如下所示。在这里,我想提取数量大于10的custName和CustId。但我无法获得提取这些值所需的jsonpath。

"customers": [
    {
      "custId": 540,
      "custName": "John",
      "itemId": 647,
      "itemAmount": 3000
    },
    {
      "custId": 432,
      "custName": "Adrian",
      "itemId": 600,
      "itemAmount": 2000
    },
    {
      "custId": 541,
      "custName": "Smith",
      "itemId": 320,
      "itemAmount": 1200
    }
  ]
}

我尝试了类似于- $.customers[*].itemAmount这样的方法,它给了我一个itemAmount列表,但我的目标完全不同,所以我查找jsonPath表达式来获得所需的数据。

zbq4xfa0

zbq4xfa01#

试试这个:
金额〉10-$.customers[?(@.itemAmount > 10)].custName时的客户名称
数量〉10-$.customers[?(@.itemAmount > 10)].custId时的客户ID

6qqygrtg

6qqygrtg2#

要获取满足条件的所有内容的两个字段:

$.customers[?(@.itemAmount > 10)]['custName','custId']

我建议在您的样本中添加一些 * 不 * 符合标准的记录,这样您就可以确定它是否有效。

相关问题