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币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
fastJson按照字符串顺序遍历JSON字段
原文:https://segmentfault.com/a/1190000003015809 fastJson在把json格式的字符串转换成JSONObject的时候,使用的是HashMap,所以排序规则是根据HASH值排序的,如果想要按照字符串顺序遍历JSON属性,需要在转换的时候指定使用LinkedHashMap代替HashMap。 public static void main(Stri
实现单层json按照key字母顺序排序
最近在做银行项目时遇到一个问题:银行加签名数据必须按照顺序排好,再拼接后加签名,这时候就遇到问题,如何实现JSONObject对象中key-value按照key进行排序; 实现代码如下: import java.util.Iterator;import java.util.SortedMap;import java.util.TreeMap;import net.sf.json.JSONO
JSONObject排序问题-fastjson map 排序问题(真正的实用)
今天测试了下 <dependency> <groupId>com.alibaba</groupId> <artifactId>fastjson</artifactId> &a
java+按照字母表顺序排列字符串列表Java实用源码整理learns
java+按照字母表顺序排列字符串列表Java实用源码整理learns
fastjson排序问题-如何改变fastjson的排序规则
fastjson在封装成json的时候会自动按照属性名称排序,也就是abcd…的顺序排序。 但是很多时候,我们可能需要json有一定的顺序,且按照我们的顺序,好了,让我们来看看如何。 首先:写一个实体类,用于转化成json用package com.dzy.fastjson;public class Letter { private Long id; private String na
按字母顺序排序输出
#include #include using namespace std; void strcpy1(char*p1, char*p2) {     char temp;     temp =* p1;     *p1 = *p2;     *p2 = temp; } int main() {     char st[20], cs[5][20];     in
Fastjson 序列化,反序列化Map对象排序问题(字符串转map,map转字符串)
背景记录项目中遇到的 关于fastjson jsonobject转string乱序,string转jsonObject乱序问题的解决方案fastJson issues问题来源描述参见: https://github.com/alibaba/fastjson/issues/359单嵌套的Map序列化与反序列问题 JSONObject map=new JSONObject(true);//关
ORACLE按字母顺序排列字符串
这个描述起来不太好说,大家就看看下面的例子吧,其实就是把一个字符串中的字母按照字母表顺序重新排序。SQL> select old_name,new_name  2  from  3  (  4  select old_name,replace(sys_connect_by_path(c, ), ) new_name  5  from  6  (  7  select e.ename o
数组内元素按字母顺序排序,字典的key按字母顺序排列
数组排序,字典排序
java 按照字母表顺序排列字符串列表
使用字符串与数组排序技术,编写一个按照字母表顺序排列字符串列表的application。允许用户在文本区中输入字符串。在文本区域中显示结果。