Java - 转换Json结构

时间:2017-04-28 12:30:55

标签: java arrays json

我是Java的新手,我正在寻找一种转换Json的方法,就像这个例子一样。

我不知道json数组,mapper或使用List对我来说会更有用

以下是示例:

收到的文件:

 {   
        "data1": "A", 
        "data2": "B", 
        "data3": "C", 
        "data4": [{ 
                       "subdata": [{ 
                                       "subsubdata": "mam" 
                       }, 
                       { 
                                       "subsubdata": "mom" 
                       }, 
                       { 
                                       "subsubdata": "mim" 
                       }] 
        } 
    }

文件转换:

 { //data  transformed
                    "data1": "A", 
                    "data2": "B", 
                    "data3": "C", 
                    "data4": { 
                                   "subdata": { 
                                                   "subsubdata": "mam" 
                                   } 
                    } 
    }, 
    { 
                    "data1": "A", 
                    "data2": "B", 
                    "data3": "C", 
                    "data4": { 
                                   "subdata": { 
                                                   { 
                                                                   "subsubdata": "mom" 
                                                   } 
                                   } 
                    } 
    }, 
    { 
                    "data1": "A", 
                    "data2": "B", 
                    "data3": "C", 
                    "data4": { 
                                   "subdata": { 
                                                   { 
                                                                   "subsubdata": "mim" 
                                                   } 
                                   } 
                    } 
    } 

1 个答案:

答案 0 :(得分:1)

试试杰克逊。

使用ObjectMapper类,您可以在嵌套的Map<String, Object>集合中转换Json。

ObjectMapper mapper = new ObjectMapper();
TypeReference<Map<String,Object>> typeRef = new TypeReference<Map<String,Object>>() {};
Map<String, Object> rs = mapper.readValue(myJsonString, typeRef);