2013-06-12 124 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现在我的代码正在工作 –