GsonでJSONのオブジェクト型をJavaの配列型としてデシリアライズしたいのですが、このようなことは出来るのでしょうか?
具体的な例として以下の様なJSON文字列があった際に、Javaの**[a, b, d, c]**のint型配列にデシリアライズします。
{ a: 10, b: 30, c: 2, d: 100 } ===== Deserialized ===== new int[]{10, 30, 100, 2}
キーの値を1つずつ読み込んで代入していく方法ではなく、出来ればJavaクラスを使った変換を行いたいです。
ご回答宜しくお願いします。
追記
JacksonではJsonCreatorアノテーションを用いたコンストラクタ(ファクトリメソッド)によって、クラスを使った変換が可能なようでした。
lang
1public class Hoge { 2 private final int[] array; 3 4 @JsonCreator 5 private Hoge(@JsonProperty("data") UserData data) { 6 array = new int[]{data.a, data.b, data.d, data.c}; 7 } 8}
lang
1public class UserData { 2 public int a; 3 public int b; 4 public int c; 5 public int d; 6}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2015/05/04 00:05