3

2 つのリストの配列があります。各リストにはオブジェクトが含まれています。最初のリストのオブジェクトは、2 番目のリストのオブジェクトとは異なります。JSON では、次のようになります。

[  
    {  
        "domains":  
        [  
            {  
                "attrb1": "aaaa",  
                "attrb2": "bbbb"  
            },
            {  
                "attrb1": "cccc",  
                "attrb2": "dddd"  
            }  
        ]  
    },  
    {     
        "terms":  
        [  
            {  
                "attrb1": "cccc",  
                "attrb2": "dddd"  
            }  
        ]  
    }  
]  

この JSON 文字列をファイル initial-elements-v02.json に保存し、次のような方法で逆シリアル化することを考えていました。

final ObjectMapper mapper = new ObjectMapper();

List<List<Object>> glossaryElements = null;
   try {
       glossaryElements = mapper.readValue(
               arg0.resourceAsStream("initial-elements-v02.json"),
               new TypeReference<ListList<<Object>>>() {
               });

ありがとうございました!
エフゲニー

4

1 に答える 1

1

Data Binding with Genericsによると、最も内側から外側に向かって構築します

Map<String, String>

List<Map<String, String>>

Map<String, List<Map<String, String>>>

List<Map<String, List<Map<String, String>>>>

そして、これを使用します

List<Map<String, List<Map<String, String>>>> glossaryElements = null;
glossaryElements = mapper.readValue(
        arg0.resourceAsStream("initial-elements-v02.json"),
        new TypeReference<List<Map<String, List<Map<String, String>>>>>() {});

ファイル名である場合initial-elements-v02.jsonは、使用することもできると思います

new File("initial-elements-v02.json")
于 2013-01-31T09:15:14.447 に答える