LoginSignup
8
9

More than 5 years have passed since last update.

javaでjsonから各種ライブラリに対応するbeanを簡単に作成する方法

Last updated at Posted at 2015-08-13

前回xml→beanを作ったけど
json→beanのマッピングを作るのもめんどくさいので簡単に作る方法をまとめとく

jsonschema2pojo

http://www.jsonschema2pojo.org/
jsonchema2pojo_index.PNG

ちょっとしたサイズの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が_で終わってるのは名前がかぶってるオブジェクトっぽい。
多分元データにあったりなかったりするとできるっぽいので
このへんは手動でマージするしかないか

8
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
9