按ASCII码给json对象排序
/**
* 按ASCII码给json对象排序(规定:升序)
* @param json
* @return
*/
public static String sortAsciiJson(String json){
String res = "";
try {ascii文字是啥
JSONObject jsonObject = new JSONObject(json);
ArrayList<String> nameList = new ArrayList<>();
Iterator keys = jsonObject.keys();
while(keys.hasNext()) {
String key = ().toString();
nameList.add(key);
}
//key排序,升序
Collections.sort(nameList);
// Collections.sort(nameList,new ASCIICompartor());
StringBuffer sb = new StringBuffer();
sb.append("{");
for (int i = 0; i < nameList.size(); i++) {
String name = (i);
String value = String(name);
if(i != 0)sb.append(",");
//添加键值对,区分字符串与json对象
if(value.startsWith("{")||value.startsWith("[")){
sb.append(String.format("\"%s\":%s",name,value));
}else{
sb.append(String.format("\"%s\":\"%s\"",name,value));
}
}
sb.append("}");
res = sb.toString();
} catch (JSONException e) {
e.printStackTrace();
return "";
}
return res;
}
重写排序类,升序
import java.util.Comparator;
public class ASCIICompartor implements Comparator<String> {
@Override
public int compare(String o1, String o2) {
return o1pareTo(o2);
}
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论