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

如何使用Jackson读取JSON中的嵌套值

符学
2023-03-14

我的json结构如下:

{
  "version": 1.0,
  "object": {
    "a1": "a2",
    "b1": "b2
  },
  "deploy": {
    "applicationName": "app",
    "namespace": "com.abc.xyz"
    ...
  }
}

表示JSON继续使用更多。我想从这个JSON中检索名称空间。我的代码如下所示:

JsonNode rootNode = new ObjectMapper().readTree(json);
var result = rootNode.at("/deploy/namespace");

但是,使用此代码,结果将始终"

我尝试了不同的路径,但总是得到一个空的字符串。有什么帮助吗?


共有1个答案

尹钱青
2023-03-14

问题在于at返回一个JsonNode,因此需要访问它:

JsonNode rootNode = new ObjectMapper().readTree(json);
var result = rootNode.at("/deploy/namespace").asText();

否则,您也可以通过以下方式访问它:

JsonNode rootNode = new ObjectMapper().readTree(json);
var result = rootNode.path("deploy").path("namespace").asText();
 类似资料:
  • 我是一个新的Java程序员,来自Python背景。我有天气数据被收集/返回为一个JSON嵌套键,我不明白如何在这种情况下拉出值。我肯定这个问题以前有人问过,但是我发誓我已经谷歌了很多,似乎找不到答案。现在我使用的是json-简单,但我尝试切换到Jackson,但仍然不知道如何做到这一点。由于Jackson/Gson似乎是最常用的库,我希望看到使用其中一个库的示例。下面是数据的示例,后面是我到目前为

  • 问题内容: 我是来自Python的新Java程序员。我有正在收集/返回为带有嵌套键的JSON的天气数据,而且我不了解在这种情况下如何提取值。我敢肯定这个问题已经被问过了,但是我发誓我已经用Google搜索了很多东西,但是我似乎找不到答案。现在我正在使用json- simple,但我尝试切换到Jackson,但仍然不知道如何执行此操作。由于Jackson / Gson似乎是使用最频繁的库,因此,我很

  • 在我的Android应用程序中,我使用referfit来描述内部API:

  • 我试图动态解析一些JSON到一个Map 但是当我尝试使用一些更复杂的JSON和嵌套信息时失败了。我试图从json解析示例数据。组织 我得到以下错误 异常在线程"main"com.fasterxml.jackson.databind.JsonMapping异常:不能反序列化实例的java.lang.字符串START_OBJECT令牌 有没有办法将复杂的JSON数据解析成映射?

  • 问题内容: 我有以下JSON,如下所示。我正在尝试读取值TOP1,TOP2。我不太确定该如何做。 我正在使用以下..但这只是给我一个对象,该对象具有用于TOP1和TOP2的嵌套对象。如何获取值TOP1和TOP2? 和下面的数据 问题答案: 您似乎想通过循环,因此请更改以下内容: 对此: 现在,您正在使用该对象遍历该对象数组, 这些 对象就是具有属性的对象,例如:和。

  • 我需要将该模式格式提取到如下所示的治疗区域行项目: