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

Java 无法获取特定字段名的json解析,java,android,json,Java,Android,Json,我在雅虎金融公司工作。尝试从url解析json数据,例如 我将数据提取到字符串“str”中,然后解析json数据以到达参考资料中的name字段 json数据是: { "list":{ "meta":{ "type":"resource-list", "start":0, "count":1 }, "resources":[ {

我在雅虎金融公司工作。尝试从url解析json数据,例如

我将数据提取到字符串“str”中,然后解析json数据以到达参考资料中的name字段

json数据是:

{
    "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"
                    }
                }
            }
        ]
    }
}
我正在尝试使用此代码,但它不起作用-需要访问“名称”字段:


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

  • 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");

你有什么问题。。。如果数组中只有一项,那么应该调用
resources.getJSONObject(0)另外,您拼写错误了单词
resources
@iturki我清除了您提到的错误,两个都被清除了
JSONArray resources=list.getJSONArray(“资源”);JSONObject resource=resources.getJSONObject(0);JSONObject字段=resource.getJSONObject(“字段”)仍然没有得到数据请看下面的我的答案。你是个很棒的人。。。这helped@ArunYadav很高兴我能帮上忙。我猜你是故意拼错了“错剥”<代码>:-)
@halfer-loool我当然知道;)
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");