2014-11-22 33 views
0

我想用java GSON解析来自JSON数据我有此JSON解串器的Json与GSON在Java中

{ 
     "time": 3.251, 
     "about_us": { 
     "dc:identifier": "some string", 
     "dc:title": "some string", 
     "dc:contributor": [ 
      "1", 
      "2" 
     ], 
     "dc:hasversion": "some string" 
     }, 
     "results": { 
     "ocw": [ 
      { 
      "title": "some string", 
      "url": "some string", 
      "language": "some string", 
      "university_name": "some string", 
      "university_url": "some string", 
      "description": "", 
      "uri": "some string5", 
      "similar": "some string", 
      "resourceType": "OCW", 
      "relatedoers": [ 

        ] 
      } 
     ], 
     "otheroer": [ 

     ] 
     } 
    } 

我只需要得到"ocw"场,我很困惑如何做到这一点。 我为json对象创建了相应的java类,并使用@SerializedName注释来指定要为每个数据成员抓取的字段名称。

这些类如下。

结果

OCW

+0

你对这个发现有什么研究到目前为止还是你尝试过的代码?那里应该有很多例子。 – mdnghtblue 2014-11-22 21:10:48

+0

“ocw”不是一个字段。 – 2014-11-22 22:58:26

+0

[如何解析Java中的JSON]可能的重复(http://stackoverflow.com/questions/2591098/how-to-parse-json-in-java) – 2014-11-23 23:39:26

回答

1

如果你有这样的json存储在某些jsonString

JsonObject jsonObject = (JsonObject) new JsonParser().parse(jsonString); 
    JsonElement jsonElement = jsonObject.getAsJsonObject("results").getAsJsonArray("ocw").get(0); 
    MyObject object = new GsonBuilder().create().fromJson(jsonElement, MyObject.class);  

为MyObject应反映这一部分:

 "title": "some string", 
     "url": "some string", 
     "language": "some string", 
     "university_name": "some string", 
     "university_url": "some string", 
     "description": "", 
     "uri": "some string5", 
     "similar": "some string", 
     "resourceType": "OCW", 
     "relatedoers": [ 

       ]