前提・実現したいこと
jacksonを使用してJavaオブジェクトをJSON文字列に出力する際に、
該当のソースコードを実行して以下の[出したい出力]を出したい場合、
アノテーションだけで対応できるでしょうか。
[出したい出力] { "fugaList": [ { "fuga": { "prop1": "AAAA", "prop2": "BBBB" } }, { "fuga": { "prop1": "XXXX", "prop2": "YYYY" } } ] } [実際の出力結果] { "fugaList": [ { "prop1": "AAAA", "prop2": "BBBB" }, { "prop1": "XXXX", "prop2": "YYYY" } ] }
該当のソースコード
Java
1public class Hoge { 2 @JsonProperty("fugaList") 3 private List<Fuga> fugaList; 4 5 public Hoge(List<Fuga> fugaList ) { 6 this.fugaList=fugaList; 7 } 8 9 public List<Fuga> getFugaList() { 10 return fugaList; 11 } 12} 13 14public class Fuga { 15 @JsonProperty("prop1") 16 private String prop1; 17 @JsonProperty("prop2") 18 private String prop2; 19 20 public Fuga(String prop1, String prop2) { 21 this.prop1=prop1; 22 this.prop2=prop2; 23 } 24 25 public String getProp1() { 26 return prop1; 27 } 28 29 public String getProp2() { 30 return prop2; 31 } 32} 33 34public class Test { 35 public static void main(String[] args) throws Exception{ 36 Fuga fuga1 = new Fuga("AAAA", "BBBB"); 37 Fuga fuga2 = new Fuga("XXXX", "YYYY"); 38 39 List<Fuga> fugaList = new ArrayList<Fuga>(); 40 fugaList.add(fuga1); 41 fugaList.add(fuga2); 42 43 Hoge hoge = new Hoge(fugaList); 44 ObjectMapper mapper = new ObjectMapper(); 45 System.out.println(mapper.writeValueAsString(hoge)); 46 } 47} 48
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/08/17 01:35
2018/08/31 14:07