fastjson字段顺序问题
程序员文章站
2022-06-18 16:32:24
最近在项目中用到阿里的fastjson,发现一个问题: 上述代码的输出为: 元素顺序和put的顺序并不相同 查看了一下fastjson的源码 发现其默认的构造函数中使用的是HashMap,想要元素顺序和put的顺序相同,需要新建对象时指定为有序,这样使用的就是LinkedHashMap,是有序的 测 ......
最近在项目中用到阿里的fastjson,发现一个问题:
JSONObject fastJson = new JSONObject(); fastJson.put("1", "1"); fastJson.put("2", "1"); fastJson.put("3", "1"); fastJson.put("11", "1"); fastJson.put("22", "1"); fastJson.put("33", "1"); fastJson.put("111", "1"); fastJson.put("222", "1"); fastJson.put("333", "1"); System.out.println(fastJson.toJSONString());
上述代码的输出为:
元素顺序和put的顺序并不相同
查看了一下fastjson的源码
发现其默认的构造函数中使用的是HashMap,想要元素顺序和put的顺序相同,需要新建对象时指定为有序,这样使用的就是LinkedHashMap,是有序的
测试一下:
JSONObject fastJson = new JSONObject(true); fastJson.put("1", "1"); fastJson.put("2", "1"); fastJson.put("3", "1"); fastJson.put("11", "1"); fastJson.put("22", "1"); fastJson.put("33", "1"); fastJson.put("111", "1"); fastJson.put("222", "1"); fastJson.put("333", "1"); System.out.println(fastJson.toJSONString());
输出结果为:
元素顺序和put的顺序相同
推荐阅读
-
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
-
PDO取Oracle lob大字段,当数据量太大无法取出的问题的解决办法
-
Spring声明式事务和@Aspect的拦截顺序问题的解决
-
有关mysql中sql的执行顺序的小问题
-
关于SQL语句中的AND和OR执行顺序遇到的问题
-
SQL order by ID desc/asc加一个排序的字段解决查询慢问题
-
oracle中读写blob字段的问题解析
-
Android开发笔记之:ListView刷新顺序的问题详解
-
在arcgis使用python脚本进行字段计算时是如何解决中文问题的
-
解决CSS3的opacity属性带来的层叠顺序问题