将json解析为对象

时间:2015-09-25 09:34:34

标签: java json parsing

我是Java的新手,我正在研究如何在java中解析json到object。

我有以下Json内容:

{
"objects": [
    {
        "type": "image",
        "left":0,
        "top":0,
        "width":787,
        "height":1165,
        "src":"image/16_011020002_000_bk.PNG",
        "replaceable":false,
        "lockObject":false
    },
    {
        "type": "image",
        "left":70,
        "top":54,
        "width":669,
        "height":469,
        "src":"image/16_011020002_000_il.PNG",
        "replaceable":false,
        "lockObject":false
    },
    {
        "left":70,
        "top":54,
        "width":669,
        "height":469,
        "direction":"v",
        "fontFamily":"KaitiEG4-Medium-SJIS",
        "fill":"#55626C",
        "text":"旧年中は大変お世話になり\nありがとうございました\n本年も相変わらずご支援のほど\nお願い申し上げます\n\n       平成二十八年 元旦",
        "textAlign":"left",
        "lockObject":false
    },
    {
        "left":70,
        "top":54,
        "width":669,
        "height":469,
        "direction":"v",
        "fontFamily":"LeisuEG4-Medium-SJIS",
        "fill":"#55626C",
        "text":"謹んで\n 初春のお慶びを\n   申し上げます",
        "textAlign":"left",
        "lockObject":false
    }
]
}

如何为这个json设计一个对象以及如何将json解析为该对象? 帮帮我这个问题。谢谢!

3 个答案:

答案 0 :(得分:6)

答案 1 :(得分:2)

我希望它能帮助你......! 使用杰克逊 -

 JSONArray objects=new JSONObject(jsondata).getJSONArray("objects");  
    for(int i=0;i<objects.length();i++){  
        JSONObject object=objects.getJSONObject(i);  
        System.out.println("value of left=="+object.getString("left"));  
        System.out.println("value of top=="+object.getString("top"));  

    }  

答案 2 :(得分:0)

根据你的问题,它似乎是一个表示object类型的json数据的数组。

要解析数据,我们可以使用d__k提到的上述两个解析器。

I have been using Jackson and we have a ObjectMapper class which converts the data in the specified type. We can use ObjectMapper#readValue to read the data into java object.

请在this链接找到更多信息。