# Java 把 Json 字符串读到 JsonNode 的方法

**URL:** <https://www.isharkfly.com/t/java-json-jsonnode/14984>\
**Category:** 程序语言\
**Tags:** java\
**Created:** [September 19, 2023, 1:53pm UTC](https://www.isharkfly.com/t/java-json-jsonnode/14984 "2023-09-19T13:53:07Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![honeymoose](https://www.isharkfly.com/user_avatar/www.isharkfly.com/honeymoose/32/20796_2.png) [@honeymoose](https://www.isharkfly.com/u/honeymoose)\
**Post date:** [September 19, 2023, 1:53pm UTC](https://www.isharkfly.com/t/java-json-jsonnode/14984/1 "2023-09-19T13:53:07Z")

</div>

最常用的方法我们是使用 ObjectMapper 的 objectMapper.readTree 方法。

```auto
            ObjectMapper objectMapper = new ObjectMapper();
            objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
            JsonNode jsonNode = objectMapper.readTree(responseStr);

```

上面的方法 Java 会把一个 JSON 的字符串读取到 JsonNode 对象中。

 ![](https://cdn.isharkfly.com/com-isharkfly-www/discourse-uploads/original/2X/2/2b846810502c201ce657dedd2e97f1628bdff1bc.png)  
然后我们再从 JSON 对象中对数据进行数据处理。

在 Java 对 JSON 对象进行处理的时候，有时候比较容易有空对象异常，这个大部分的原因可能是没有找到可以匹配的对象。

因此我们加了 `objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);` 这个对转换属性进行配置。

当没有找到匹配的字段的话，JSON 对象转换不终止运行，将会继续进行转换，忽略掉没有匹配的字段。
