###jacksonを使ってWebAPIから取り出したJSONファイルをJavaオブジェクトにしたい
Javaでe-Statという統計のWebAPIから値を取り出したいと考えています。
JSONファイルまでは取り出すことができ、それをJavaオブジェクトに変換するため、jacksonというライブラリを使おうと考えています。
簡単な例題程度の構造であれば、クラスの書き方も分かるのですが、WebAPIが返してきた大量のデータを見てどの様にクラスを定義すれば良いのか分からなくなってしまいました。。
オブジェクトクラスの作成方法はどの様にすれば良いのでしょうか?
乗っているサイト等ありましたら教えてください。
よろしくお願いします。
###試したこと
jacksonの関連のウェブサイトを見ていますが分かりません。
###対象としているJSONファイル
抜粋ですが、以下のようなJSONファイルになっています。
私が考えるとクラスが二つになってしまします。
jacksonは2つのクラスファイルではうまく動かないのかもしれません。
うまく動きません。
JSON
1 {"@id":"area", 2 "@name":"\u56E3\u4F53\u540D(\u5E02\u753A\u6751\u5206)", 3 "CLASS":[ 4 {"@code":"01100","@name":"\u672D\u5E4C\u5E02","@level":"3"}, 5 {"@code":"01202","@name":"\u51FD\u9928\u5E02","@level":"3"}, 6 {"@code":"01203","@name":"\u5C0F\u6A3D\u5E02","@level":"3"}, 7 {"@code":"01204","@name":"\u65ED\u5DDD\u5E02","@level":"3"}, 8 {"@code":"01205","@name":"\u5BA4\u862D\u5E02","@level":"3"}, 9 {"@code":"01206","@name":"\u91E7\u8DEF\u5E02","@level":"3"}, 10 {"@code":"01207","@name":"\u5E2F\u5E83\u5E02","@level":"3"}, 11 {"@code":"01208","@name":"\u5317\u898B\u5E02","@level":"3"}, 12 {"@code":"01209","@name":"\u5915\u5F35\u5E02","@level":"3"}, 13 {"@code":"01210","@name":"\u5CA9\u898B\u6CA2\u5E02","@level":"3"}, 14 {"@code":"01211","@name":"\u7DB2\u8D70\u5E02","@level":"3"}, 15 {"@code":"01212","@name":"\u7559\u840C\u5E02","@level":"3"}, 16 {"@code":"01213","@name":"\u82EB\u5C0F\u7267\u5E02","@level":"3"}, 17 {"@code":"01214","@name":"\u7A1A\u5185\u5E02","@level":"3"}, 18 {"@code":"01215","@name":"\u7F8E\u5504\u5E02","@level":"3"}, 19 {"@code":"01216","@name":"\u82A6\u5225\u5E02","@level":"3"}, 20 {"@code":"01217","@name":"\u6C5F\u5225\u5E02","@level":"3"}, 21 {"@code":"01218","@name":"\u8D64\u5E73\u5E02","@level":"3"}, 22 {"@code":"01219","@name":"\u7D0B\u5225\u5E02","@level":"3"}, 23 {"@code":"01220","@name":"\u58EB\u5225\u5E02","@level":"3"}, 24 {"@code":"01221","@name":"\u540D\u5BC4\u5E02","@level":"3"},
###考えたクラス
1つ目のクラス
java
1public class JavaObjectClass { 2 private String id; 3 private String name; 4 5 private List<InnerObject> CLASS = new ArrayList<>(); 6 7 public JavaObjectClass(String id, String name) { 8 this.id = id; 9 this.name = name; 10 } 11 12 //アクセッサ 13 public void setId(String id) {this.id = id;} 14 public String getId() {return id;} 15 public void setName(String name) {this.name = name;} 16 public String getName() {return name;} 17 18 //CLASSへの追加メソッド 19 public void addCLASS(InnerObject dataset) {CLASS.add(dataset);} 20 public List<InnerObject> getCLASS() {return CLASS;} 21} 22
2つ目のクラス
java
1public class InnerObject { 2 private String code; 3 private String name; 4 private String level; 5 private String parentCode; 6 7 public InnerObject (String code, String name, String level, String parentCode) { 8 this.code = code; 9 this.name = name; 10 this.level = level; 11 } 12 13 //アクセッサ 14 public String getCode() {return code;} 15 public void setCode(String code) {this.code = code;} 16 public String getName() {return name;} 17 public void setName(String name) {this.name = name;} 18 public String getLevel() {return level;} 19 public void setLevel(String level) {this.level = level;} 20 21}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/06/20 17:26
2017/06/20 19:05
2017/06/21 01:00 編集
2017/06/21 19:41