无法获取特定字段名称的json解析

时间:2016-01-17 14:59:58

标签: java android json

我正在雅虎财经工作。尝试解析来自网址的json数据,例如Google finance data

我将数据提取到一个字符串" str"然后解析json数据以到达资源内的名称字段。

json数据是:

fm.popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE);

我正在尝试使用此代码,但它不起作用 - 需要达到" name"字段:

{
    "list":{
        "meta":{
            "type":"resource-list",
            "start":0,
            "count":1
        },
        "resources":[
            {
                "resource":{
                    "classname":"Quote",
                    "fields":{
                        "name":"Alphabet Inc.",
                        "price":"710.489990",
                        "symbol":"GOOGL",
                        "ts":"1452891600",
                        "type":"equity",
                        "utctime":"2016-01-15T21:00:00+0000",
                        "volume":"3833751"
                    }
                }
            }
        ]
    }
}

1 个答案:

答案 0 :(得分:1)

我注意到您的代码存在三个问题:

  • 您的JSONArray中有一个项目,因此您应该检索项目0,而不是项目1.
  • 您在代码中拼错了resources这个词。

另外,我认为您没有正确检索字段。这应该这样做:

JSONObject str1 = new JSONObject(str4);
JSONObject list = str1.getJSONObject("list");
JSONArray resources = list.getJSONArray("resources");
JSONObject fields = resources.getJSONObject(0).getJSONObject("resource").getJSONObject("fields");
str2 = fields.getString("name");