Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Jackson反序列化到JsonNode是否保证属性排序?_Java_Jackson_Jackson2 - Fatal编程技术网

Java Jackson反序列化到JsonNode是否保证属性排序?

Java Jackson反序列化到JsonNode是否保证属性排序?,java,jackson,jackson2,Java,Jackson,Jackson2,例如,如果我将以下JSON反序列化为JsonNode: { "property1": 1, "property2": 2, "property3": 3 } 然后遍历元素,是否可以保证迭代器将按照定义的顺序返回属性(即property1、property2、property3) 直觉上,我认为答案是否定的,因为JSON规范将对象定义为“一组无序的名称/值对”。然而,他说: 据观察,JSON解析库在是否 它们不会使对象成员的顺序对调用可见 软件 我还没有找到关于Jackson如

例如,如果我将以下JSON反序列化为JsonNode:

{
   "property1": 1,
   "property2": 2,
   "property3": 3
}
然后遍历元素,是否可以保证迭代器将按照定义的顺序返回属性(即property1、property2、property3)

直觉上,我认为答案是否定的,因为JSON规范将对象定义为“一组无序的名称/值对”。然而,他说:

据观察,JSON解析库在是否 它们不会使对象成员的顺序对调用可见 软件

我还没有找到关于Jackson如何处理这个问题的任何信息。

查看(2.5.0版,你可以在网站上搜索另一个版本),包含该对象的子对象的地图的类型与文档中所述的类型相同

此实现与HashMap的不同之处在于它维护 贯穿其所有条目的双链接列表。此链接 列表定义了迭代顺序,这通常是 已将哪些关键点插入地图(插入顺序)


这只是一个开始,但并没有真正回答问题。有了这些知识,我想我的问题就变成了,“当反序列化时,Jackson Gurantee是否会为了在LinkedHashMap中插入属性而提供担保?”我不明白Jackson dev为什么会出于任何其他原因选择这样的实现