JSONとGsonでメンバ変数の順番が変わる
JSONとGsonで、メンバ変数の順番が変わるらしいので、実行結果をメモ。
package jsonTest; import net.arnx.jsonic.JSON; import com.google.gson.Gson; public class SimpleJsonTest { public static void main(String[] args){ SimpleJsonTest test = new SimpleJsonTest(); JsonTest json = test.new JsonTest(); json.setAaa("AAA"); json.setBbb("BBB"); json.setCcc("CCC"); String jsonic = JSON.encode(json); System.out.println("JSONIC:" + jsonic); System.out.println("メンバ変数の順番が変わる"); Gson gson = new Gson(); String gsonCode = gson.toJson(json); System.out.println("GSON:" + gsonCode); System.out.println("メンバ変数の順番が変わらない"); } public class JsonTest{ private String ccc; private String bbb; private String aaa; public String getCcc() { return ccc; } public void setCcc(String ccc) { this.ccc = ccc; } public String getBbb() { return bbb; } public void setBbb(String bbb) { this.bbb = bbb; } public String getAaa() { return aaa; } public void setAaa(String aaa) { this.aaa = aaa; } } }
上記のソースを実行してみると、下記のようになる。
JSONIC:{"aaa":"AAA","bbb":"BBB","ccc":"CCC"} メンバ変数の順番が変わる GSON:{"ccc":"CCC","bbb":"BBB","aaa":"AAA"} メンバ変数の順番が変わらない