我正在雅虎财经工作。尝试解析来自网址的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"
}
}
}
]
}
}
答案 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");