转换字符串示例:
结果:
通过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)的文章就介绍到这了,更多相关内容请继续浏览下面的相关 推荐文章,希望大家都能在编程的领域有一番成就!版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/qdvuejs/12425.html