GsonでJavaオブジェクトをメンバ変数の定義順にJSONに変換する

JavaオブジェクトをJSONに変換するためのライブラリはいくつか種類があります。私が参加した案件ではJSONICを使用していたのですが、JSONICで変換すると、JavaオブジェクトとJSONでメンバ変数の順番が違ってしまいます。例えば↓

●JSONに変換するオブジェクト

 このようにメンバ変数の定義順ではなくアルファベット順になります。JSONなのでとくに順番に意味が無く、問題はありません。しかし、私の場合、設計書での定義順とオブジェクトのメンバ変数の定義順を合わせていたため、結果出力されるJSONだけがアルファベット順というのはなんとなく嫌だったので、メンバ変数順にできないかいろいろ試しました。結果、JSONICの代わりにGsonを使うことにしました。

 ●GsonでJavaオブジェクトをJSON文字列に変換する例

 このように、Gsonでは特に何も意識せずとも標準でオブジェクトで定義したメンバ変数の順番でJSONを出力してくれます。(o≧▽≦)ゝ

Gsonのダウンロードはこちら