2 lisiairball lisiairball 于 2016.04.05 11:25 提问

1.2.7版本fastjson转字符串后key的排序,如何能完全按字母顺序排列?

之前使用fastjson的1.1.32版本,将字符串转json,然后toString后,各key是按字母顺序排列的,如下所示:
JSONObject obj = JSONObject.parseObject("{\"command\":\"www\",\"sesID\":\"123456789\",\"content\":\"content\",\"params\":{\"aaa\":\"\",\"ccc\":\"ccc\",\"bbb\":\"bbb\"},\"title\":\"xxx_title\"}");
System.out.println(JSON.toJSONString(obj));
输出结果是:
{"command":"www","content":"content","params":{"aaa":"","bbb":"bbb","ccc":"ccc"},"sesID":"123456789","title":"xxx_title"}

但升级到最新版1.2.7后,输出结果为:
{"content":"content","title":"xxx_title","sesID":"123456789","command":"www","params":{"aaa":"","ccc":"ccc","bbb":"bbb"}}

我查了下,貌似要添加一些参数,比如:
Feature.OrderedField之类的,但是结果还是不和1.1.32版本的相同,所以想请教一下大家,如何设置参数才能使用1.2.7版本的fastjson时,toString时参数排序能和1.1.32版本一致,多谢!

3个回答

Royal_lr
Royal_lr   Ds   Rxr 2016.04.05 14:47

这个估计要改源码可了,否则的话,,就自己给它排下序

tianci121404
tianci121404   2016.11.09 19:14

我也遇到这个问题,要想解决好像只能换成低版本的

CSDNXIAOD
CSDNXIAOD   2016.04.05 11:33

字符串排序问题
字符串排序的问题
----------------------biu~biu~biu~~~在下问答机器人小D,这是我依靠自己的聪明才智给出的答案,如果不正确,你来咬我啊!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!