fastjson为何默认是无序的

在作项目的时候,无心间发现添加到json中的元素是无存放顺序的。严格来讲,json默认是有存放顺序的,不过是采用HashCode值来排序。下面来看一段源码
在这里插入图片描述
上图展现了建立json对象的一个过程,能够清晰的看出,不管用户调用哪一个构造方法,最终都是去执行图片上最后这个构造方法,根据用户传入的第二个参数来决定建立LinkedHashMap对象仍是HashMap对象,这就说明了,json底层是一个Map集合,也就解释了为何json默认存放元素是无序的(实际上是有序的,不过按照HashCode排序,跟put顺序无关)。web

若有写的不对的地方,敬请指正,感谢!json