ペアのセットを格納するために HashMaps を使用しますが、(Php クライアントからの) 最初の json シリアル化から Java HashMap セットのブラウジングまで、キーの順序が同じであることも確認する必要があります。
//import com.google.gson.Gson;
//import com.google.common.base.Joiner;
String s = "{\"durant\":\"kevin\", \"james\":\"lebron\",\"harden\":\"james\",\"westbrook\":\"russel\"}";
System.out.println(s);
Gson gson = new Gson();
Type typeOfMap = new TypeToken<Map<String, String>>() {}.getType();
Map<String, String> m = gson.fromJson(s, typeOfMap);
List<String> entries = new ArrayList< String>(m.keySet());
//Collections.sort(entries);
System.out.println(entries);
System.out.println(m.entrySet());
System.out.println( Joiner.on(",").withKeyValueSeparator("").join(m) );
再度ソートせずに(ここではキーをアルファベット順に)小さな値のセットで機能しているようですが、信頼できる方法ですか?json String と Map ブラウジングの間で順序が変わる可能性はありますか?
編集:おそらく LinkedHashMap はより順序を維持していますか?