前回xml→beanを作ったけど
json→beanのマッピングを作るのもめんどくさいので簡単に作る方法をまとめとく
jsonschema2pojo
http://www.jsonschema2pojo.org/
ちょっとしたサイズのjsonならweb上で作成できる
結構でかいorWeb上で生成するのはちょっと・・・というのであればCLIも用意されている
https://github.com/joelittlejohn/jsonschema2pojo/wiki/Getting-Started#the-command-line-interface
https://github.com/joelittlejohn/jsonschema2pojo/releases
適当にjsonschema2pojo-0.4.14.tar.gzとかをダウンロードして解凍
解凍したディレクトリに移動して
jsonschema2pojo -s source.json -t generate_dir -T JSON
もしくは中身はただのjarなんで
java -jar jsonschema2pojo-cli-0.4.14.jar -s source.json -t generate_dir -T JSON
とかでOK
結構オプションとかもあるので使いそうなものを抜粋
-s, --source
元データ(必須)
-t, --target
出力先(必須)
-a, --annotation-style
各ライブラリ用のアノテーションを付けてくれる
[JACKSON, JACKSON1, JACKSON2, GSON, NONE]
Default: JACKSON
-f, --float-numbers
Float型で作成
-l, --long-integers
Long型で作成
-e, --output-encoding
エンコード指定
Default: UTF-8
-p, --package
パッケージ名指定
-R, --remove-old-output
古い出力があったら削除
ディレクトリごと一回削除してもう一度作るっぽい
-T, --source-type
スキーマorJSON選択
普通のJSONからbean作りたいときはJSONを指定する
Default: JSONSCHEMA
-P, --use-primitives
プリムティブで作成
できたbeanが_で終わってるのは名前がかぶってるオブジェクトっぽい。
多分元データにあったりなかったりするとできるっぽいので
このへんは手動でマージするしかないか