Java Jackson反序列化到JsonNode是否保证属性排序?
例如,如果我将以下JSON反序列化为JsonNode:Java Jackson反序列化到JsonNode是否保证属性排序?,java,jackson,jackson2,Java,Jackson,Jackson2,例如,如果我将以下JSON反序列化为JsonNode: { "property1": 1, "property2": 2, "property3": 3 } 然后遍历元素,是否可以保证迭代器将按照定义的顺序返回属性(即property1、property2、property3) 直觉上,我认为答案是否定的,因为JSON规范将对象定义为“一组无序的名称/值对”。然而,他说: 据观察,JSON解析库在是否 它们不会使对象成员的顺序对调用可见 软件 我还没有找到关于Jackson如
{
"property1": 1,
"property2": 2,
"property3": 3
}
然后遍历元素,是否可以保证迭代器将按照定义的顺序返回属性(即property1、property2、property3)
直觉上,我认为答案是否定的,因为JSON规范将对象定义为“一组无序的名称/值对”。然而,他说:
据观察,JSON解析库在是否
它们不会使对象成员的顺序对调用可见
软件
我还没有找到关于Jackson如何处理这个问题的任何信息。查看(2.5.0版,你可以在网站上搜索另一个版本),包含该对象的子对象的地图的类型与文档中所述的类型相同
此实现与HashMap的不同之处在于它维护
贯穿其所有条目的双链接列表。此链接
列表定义了迭代顺序,这通常是
已将哪些关键点插入地图(插入顺序)
这只是一个开始,但并没有真正回答问题。有了这些知识,我想我的问题就变成了,“当反序列化时,Jackson Gurantee是否会为了在LinkedHashMap中插入属性而提供担保?”我不明白Jackson dev为什么会出于任何其他原因选择这样的实现