2013-06-12 126 views
-2

這是我的json需要轉換爲Java對象。 我已經嘗試了很多方法,但沒有得到成功,所以如果任何人都可以提供這方面的建議是最受歡迎的!複雜的json使用gson對java對象進行轉換

{ 
    "id":"100006077890894", 
    "posts":{ 
    "data":[ 
     { 
     "message":"this is my 4th post to test...((((((((((((((((", 
     "from":{ 
      "name":"Sagar Zope", 
      "id":"100006077890894" 
     }, 
     "id":"100006077890894_1384558691756714", 
     "created_time":"2013-06-12T07:02:52+0000", 
     "comments":{ 
      "data":[ 
      { 
       "from":{ 
       "name":"Sagar Zope", 
       "id":"100006077890894" 
       }, 
       "message":"4th post 1st comment ..............", 
       "id":"1384558691756714_10803" 
      }, 
      { 
       "from":{ 
       "name":"Sagar Zope", 
       "id":"100006077890894" 
       }, 
       "message":"4th post 2nd comment ..............", 
       "id":"1384558691756714_10804" 
      }, 
      { 
       "from":{ 
       "name":"Sagar Zope", 
       "id":"100006077890894" 
       }, 
       "message":"4th post 3rd comment ..............", 
       "id":"1384558691756714_10805" 
      }, 
      { 
       "from":{ 
       "name":"Sagar Zope", 
       "id":"100006077890894" 
       }, 
       "message":"4th post 4th comment ..............", 
       "id":"1384558691756714_10806" 
      } 
      ] 
     } 
     }, 
     { 
     "message":"this is the 3rd post .....................:)))))))", 
     "from":{ 
      "name":"Sagar Zope", 
      "id":"100006077890894" 
     }, 
     "id":"100006077890894_1384557311756852", 
     "created_time":"2013-06-12T07:01:24+0000", 
     "comments":{ 
      "data":[ 
      { 
       "from":{ 
       "name":"Sagar Zope", 
       "id":"100006077890894" 
       }, 
       "message":"3rd post 1st comment ..............", 
       "id":"1384557311756852_10797" 
      }, 
      { 
       "from":{ 
       "name":"Sagar Zope", 
       "id":"100006077890894" 
       }, 
       "message":"3rd post 2nd comment ..............", 
       "id":"1384557311756852_10800" 
      }, 
      { 
       "from":{ 
       "name":"Sagar Zope", 
       "id":"100006077890894" 
       }, 
       "message":"3rd post 3rd comment ..............", 
       "id":"1384557311756852_10801" 
      }, 
      { 
       "from":{ 
       "name":"Sagar Zope", 
       "id":"100006077890894" 
       }, 
       "message":"3rd post 4th comment ..............", 
       "id":"1384557311756852_10802" 
      } 
      ] 
     } 
     } 
    ] 
    } 
} 
+0

你需要JSON中的所有數據,還是隻需要一個片段? – MikO

+1

顯示你已經嘗試..並要求特別的問題,你失敗的地方。 – Nishant

+0

我需要所有的帖子和評論 –

回答

1

你需要一個階級結構是這樣的(僞代碼):

class Response 
    String id 
    DataList posts 

class DataList 
    List<Data> data 

class Data 
    String message 
    From from 
    String id 
    String created_time 
    DataList comments 

class From 
    String name 
    String id 

注意,如果你想,你可以改變類的名字,但你必須保持的屬性名稱相匹配JSON響應中的字段名稱。

另請注意,我已使用同一班Data來存儲帖子和評論的數據。這是可能的,因爲徵求意見的數據是職位數據的子集,所以分析評論時,GSON會忽略的屬性created_timecomments ...

然後解析JSON:

Gson gson = new Gson(); 
Response response = gson.fromJson(yourJsonString, Response.class); 

現在你可以得到與發佈:

String postMessage = response.getPosts().getData().get(i).getMessage(); 

並以同樣的方式,你可以得到它的評論:

String commentMessage = response.getPosts().getData().get(i).getComments().getData().get(i).getMessage(); 

注意:使用一個Online JSON Viewer將幫助您清楚地看到你需要包裝您的JSON數據類的結構!

+0

非常感謝MikO現在我的代碼正在工作 –