単一層Jsonをkeyアルファベット順に並べ替えることを実現する例
最近銀行のプロジェクトをする時に問題があります。銀行のサインを入れるデータは順番に並べてからサインをしなければなりません。この時は問題が発生しました。どうやってJSONObjectの対象の中でkey-valueを実現しますか?
実現コードは以下の通りです。
実現コードは以下の通りです。
<span style="font-size:18px;">import java.util.Iterator;
import java.util.SortedMap;
import java.util.TreeMap;
import net.sf.json.JSONObject;
public class JsonUtils {
/**
* json key
* @param json
* @return
*/
public static JSONObject getSortJson(JSONObject json){
Iterator<String> iteratorKeys = json.keys();
SortedMap map = new TreeMap();
while (iteratorKeys.hasNext()) {
String key = iteratorKeys.next().toString();
String vlaue = json.optString(key);
map.put(key, vlaue);
}
JSONObject json2 = JSONObject.fromObject(map);
return json2;
}
public static void main(String[] args){
JSONObject json = new JSONObject();
json.put("cc", "cc");
json.put("bb", "bb");
json.put("ee", "ee");
json.put("aa", "aa");
json.put("ba", "ba");
json.put("bd", "bd");
System.out.println(getSortJson(json).toString());
}
}</span>
以上のように、単一層のjsonをkeyアルファベット順に並べ替えた例は、小編集が皆さんに提供した内容の全部です。参考にしてもらいたいです。どうぞよろしくお願いします。