JSON解析 - 获取值

时间:2013-05-20 23:51:11

标签: java android json

我在解析此JSON时遇到问题。我在JSONObject中有以下数据o。我如何获取critics_score的值?

{
"total":1,"
 movies":
 [{
      "id":"770672122",
      "title":"Toy Story 3",
      "year":2010,
      "mpaa_rating":"G",
      "runtime":103,
      "critics_consensus":"Deftly blending comedy, adventure, and honest emotion, Toy   Story 3 is a rare second sequel that really works.",

      "release_dates":{"theater":"2010-06-18","dvd":"2010-11-02"},
      "ratings":
       {
                "critics_rating":"Certified Fresh",
                "critics_score":99,
                "audience_rating":"Upright", .......

由于

4 个答案:

答案 0 :(得分:2)

您可以执行以下操作:

    int criticsScore;
    try {
        criticsScore = myJsonObject.getJSONArray("movies").getJSONObject(0).getJSONObject("ratings").getInt("critics_score");
    } catch (JSONException e) {
        e.printStackTrace();
    }

修改:假设您的JSONObject名为myJsonObject

答案 1 :(得分:1)

看看我写的关于在Android平台上解析JSON文件的博客文章,您可能会觉得它很方便:

JSON Parsing

作为一个方向,您需要将movies对象解析为JSONArray,然后获取它的第一项并提取评分JSONObject,然后提取critics_score {其中{1}}。

答案 2 :(得分:1)

data_array中[ '电影'] [0] [ '评分'] [ 'critics_score']

使用它来帮助阅读您的JSON - http://jsoneditoronline.org/

要创建对象data_array,我使用了这个,var data_array = $ .parseJSON('{“total”:1,“movies”:[{“id”:“770672122”,“title”:“玩具总动员3” ,“年”:2010年,“mpaa_rating”:“G”,“运动时”:103,“评论家共识”:“巧妙地融合了喜剧,冒险和诚实的情感,玩具总动员3是一部罕见的第二部续集,真正有效。”, “release_dates”:{“theatre”:“2010-06-18”,“dvd”:“2010-11-02”},“rating”:{“critics_rating”:“Certified Fresh”,“critics_score”:99, “audience_rating”: “直立”}}]}');

答案 3 :(得分:0)

Gson库非常适合解析JSON:

https://code.google.com/p/google-gson/

上面的Emil教程可以帮助您入门

其他人建议杰克逊here is a stackoverflow thread比较他们: