人生は、お天気いろいろ

日々の生活やプログラミング等に関するメモ・雑文を記載しています

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"}
メンバ変数の順番が変わらない