JSON对象key值排序


public static String getJSONString(Object data) {
String str = "";
Object obj = null;
if(data instanceof JSON) {
if(data instanceof JSONArray) {
JSONArray arr = (JSONArray) data;
for(int i = 0; i < arr.size(); i++) {
if(arr.get(i) instanceof JSON) {
String s = getJSONString(arr.get(i));
arr.set(i, JSON.parse(s, Feature.OrderedField));
}
}
str = arr.toJSONString();
}else if(data instanceof JSONObject) {
JSONObject objj = (JSONObject) data;
List lstk = JSON.parseArray(JSON.toJSONString(objj.keySet()), String.class);
lstk.sort(new Comparator () {
@Override
public int compare(String o1, String o2) {
// TODO Auto-generated method stub
return o1.compareTo(o2);
}
});
JSONObject objd = new JSONObject(true);
for(String k : lstk) {
if(objj.get(k) instanceof JSON) {
String s = getJSONString(objj.get(k));
objd.put(k, JSON.parse(s, Feature.OrderedField));
}else {
objd.put(k, objj.get(k));
}
}
str = objd.toJSONString();
}
}else {
if(data != null) {
str = data.toString();
}
}
return str;
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM