2015-09-25 170 views
1

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

我有以下的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到該對象? 幫我解決這個問題。謝謝!

+0

閱讀傑克遜圖書館 – Jens

+0

標記我的答案爲答案,所以如果有人會檢查出這個問題,將立即找到答案 – dklos

回答

2

我希望它會幫助你...!
使用Jackson-

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")); 

    } 
+0

我認爲GSON對於新手來說可能更簡單 – dklos

+0

非常感謝! @vikas balyan – user3161772

0

按照您的問題其似乎是表示類型的對象的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鏈接處查找更多信息。