java - Jackson 中的 ObjectNode 和 JsonNode 有什么区别?

标签 java json jackson jackson2

根据 JsonNode 的文档:

Most mutators, however, need to be accessed through specific sub-classes (such as ObjectNode and ArrayNode).

但是我仍然感到困惑,因为一些 stackoverflow 答案似乎可以互换使用它们。它们有什么不同的用途?

最佳答案

JsonNodeObjectNodeArrayNode 扩展的基类。 JsonNode 表示任何有效的 Json 结构,而 ObjectNodeArrayNode 分别是对象(也称为映射)和数组的特定实现。

ArrayNode 具有处理数组的特定方法,例如 get(index i)您无法在 JsonNodeObjectNode 中的特定索引处获取项目,但您可以在 ArrayNode 中获取项目。

关于java - Jackson 中的 ObjectNode 和 JsonNode 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38705890/

相关文章:

java - 在java中将文档(XML)直接转换为字符串,而不使用transform或XMLSerializer

Java 序列化 vs JSON vs XML

c# - 实时更新 map - 计时器类 - c#

javascript - 安全性:innerHTML 与 textContent 与 API

java - 将此 json 映射到 java 对象 (pojo)

java - 上一个命令完成执行后批处理文件运行命令

java - 方法调用 'fab.setOnClickListener(new View.OnClickListener() { @Override public void on...' 可能会产生 'java.lang.NullPointerException'

sql - 公用表表达式内部的反向聚合

java - 如何根据引用的实体交换@JsonBackReference和@JsonManagedReference

json - 在 Kotlin 中使用 Jackson 进行多态(反)序列化时缺少身份字段