当前位置: 首页 > 知识库问答 >
问题:

使用JsonPath-Jayway检索JSON元素

红存
2023-03-14

我有一个问题。我想获取pin码,其中street=='abc strt'<我正在使用Jaway来实现这一点

{
  "studentId": "10001",
  "studentSection": "A",
  "address": [
    {
      "street": "abc strt.",
      "pincode": "00000000"
    },
    {
      "street": "xzy strt.",
      "pincode": "1111111"
    },
    {
      "street": "678 strt.",
      "pincode": "8765"
    },
    {
      "street": "ity strt.",
      "pincode": "234567"
    }
  ]
}
List<String> = result = JsonPath.read(json, "$.['address'].[?@.street == 'abc strt.'].pincode");

jaywayxpath:$。['地址']。[?@.street==“abc strt.”。pincode,正在返回列表


共有1个答案

臧令
2023-03-14

根据Jayway Jsonpath文件,

Jayway JsonPath是Stefan Goessner JsonPath实现的Java端口。

根据Stefan Goessner JsonPath文件,

请注意,jsonPath的返回值是一个数组,它也是一个有效的JSON结构。因此,您可能希望再次将jsonPath应用到结果结构中,或者使用您最喜欢的数组方法之一进行排序。

 类似资料:
  • 问题: 我有一个服务,接受一个字符串作为输入。每当某些字段不总是存在时,JSON模式都不同。当这些字段存在时,我如何使用Jayway的查询它们的值? 我尝试过的: 我使用了 返回如果路径没有找到,但是我的代码仍然抛出: 通用域名格式。乱穿马路。jsonpath。PathNotFoundException:路径$['somepath'中缺少属性 当我给它一个不存在的路径。有人知道这可能是什么原因吗?

  • 我有一个需求,我需要更新JSON中的值。我需要更新的键的路径也是基于一些条件,所以我必须在属性文件中维护路径。这是我的JSON 现在我的要求是假设我需要更新pre_paid的值到N,但需要pre_paid的路径是动态的,因为有时我可能需要更新state_code或sort_code或pre_paid等。所以我使用JSONPath: 我需要将这些路径存储在一些属性文件/DB中。 我能够通过以下代码读

  • 我目前正在试验Jayway JsonPath,但在将属性名从json字符串转换为属性名时遇到了问题。例如,我尝试在以下json字符串中将de“id”属性名称重命名为“id2”: {“id”:“id”,“description”:“description”} 我使用下面的java语句来实现这一点 问题在于,此转换会从json字符串中删除引号: {描述:描述, id2: id} 有没有办法防止json

  • 我有一个json身体如下- 无论何时执行任何代码,我都要检查上面的“tx”、“,“origin”值在我生成的json中是否可用。而且,它应该是连续的,比如(tx.origin)。如果它可用,它将返回一些东西。我可以得到任何一个值-。令牌[?(@.value==“tx”)]。值我需要连续检查所有3个值。 你们能帮帮我吗?提前谢谢。

  • 问题内容: 我正在尝试使用AFNetworking检索一些JSON数据。 我的服务器组件(PHP / ZendFramework)提供以下响应: 我尝试使用以下代码检索此json数据: 在模拟器中运行时,控制台显示以下输出: 任何关于我做错事情的提示都将不胜感激:)我尝试访问Twitter API,并且工作得很好… 问题答案: 这很令人困惑,我一直在努力寻找如何更好地正确记录/设计文档的方法,但是

  • 我有一个JSON文件,里面有很多对象和数组以及数组中的对象。 我在JSON path-data . offer . travels[1]. routes中的routes对象中有一个源和目的地之间的路由列表。 在每个路由对象中都有一个名为支路的数组,其长度可以是1、2或3。我编写了一个带有for循环的方法,在路由对象中循环并返回第一个只有1条支路的路由索引。但是它给出了一个错误。 为此编写了一个fo