我正在使用Jackson进行JSON解析。 JsonNode和ObjectNode有什么区别。
用于以字符串格式映射json。
答案 0 :(得分:16)
JsonNode
:抽象类,在读取 JSON文档时使用。ObjectNode
:在构建或修改 JSON文档时使用的具体实现。继续阅读以获得更详细的答案。
JsonNode
JsonNode
是一个抽象类,用作所有JSON节点的基类,它构成了Jackson实现的JSON树模型的基础。
引用JsonNode
文档:
作为一般设计规则,大多数访问器( getters )方法都包含在此基类中,以允许遍历没有类型转换的结构。
然而,需要通过特定的子类(例如
ObjectNode
和ArrayNode
)访问Mutators方法( setters )。这似乎是明智的,因为在构建或修改树时通常可以使用正确的类型信息,但在阅读树时(从解析的JSON内容新构建)不太常见。
可以在JsonNode
包中找到com.fasterxml.jackson.databind.node
具体实现。
ObjectNode
ObjectNode
是JsonNode
的具体实现,用于映射JSON对象和JSON对象defined as following:
对象是一组无序的名称/值对。对象以
{
(左大括号)开头,以}
(右大括号)结束。每个名称后跟:
(冒号),名称/值对由,
(逗号)分隔。