当前位置:网站首页 > Vue.js开发 > 正文

map转jsonobject对象(map转json对象 fastjson)



转换字符串示例:

 
  

结果:

通过DEBUG去com.alibaba.fastjson.parser.DefaultJSONParser的下述方法

 
  

//重点就是此行的lexer.isEnabled(Feature.OrderedField)=false

 
  
 
  

重点就是此行的lexer.isEnabled(Feature.OrderedField)=false,打开JSONObject的源码构造方法可以发现当ordered参数值为false时使用的是HashMap存放数据。

 
  

hashmap是数组加链表结构,根据key的hash算法确定在数组中的位置,当发生hash冲突的时候,根据二叉树或者红黑树构成链表。所以是有序的,key确定,位置也就确定了。

如果要实现转换前的数据顺序与转换后的数据顺序一致,可以使用如下方式

 
  

解决办法:

1、解析时增加参数不调整顺序

3、使用Gson解析

JsonObject returnData = new JsonParser().parse(replyString).getAsJsonObject();

json字符串序列化后如何保持顺序不变

 
  

LinkedHashMap<String, Object> jsonMap = JSON.parseObject(result,LinkedHashMap.class, Feature.OrderedField);

到此这篇map转jsonobject对象(map转json对象 fastjson)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!

版权声明


相关文章:

  • 小米14文件管理在哪里找(小米文件管理4.1.8.9)2025-10-13 22:36:07
  • docker最新版本(docker1.12.6)2025-10-13 22:36:07
  • ubuntu18.04镜像iso下载(ubuntu 18.04镜像下载)2025-10-13 22:36:07
  • map转jsonobject报错(map转json对象)2025-10-13 22:36:07
  • vue钩子函数的作用(vue2钩子函数)2025-10-13 22:36:07
  • jsjl是什么意思(jsjsjsjsj是什么意思)2025-10-13 22:36:07
  • vue插槽使用(vuejs插槽)2025-10-13 22:36:07
  • vb6.0名词解释大全(visualbasic名词解释)2025-10-13 22:36:07
  • pcie5.0固态硬盘主板(pcie5.0 ssd)2025-10-13 22:36:07
  • js深拷贝数组对象(js数组深拷贝和浅拷贝)2025-10-13 22:36:07
  • 全屏图片