如何解决,JSONException:" 1"

时间:2016-07-28 11:45:56

标签: java php android mysql json

在网站上看了一会儿,我没有到达任何地方。

我正在创建一个Android应用程序,它通过PHP从mySQL数据库获取值列表,并返回以JSON对象编码的结果:

{"error":false,"values":{"1":{"name":"This is a string"}, "2":{...}}}

我正在java中检索JSON对象:

JSONObject jObj = new JSONObject(response);
boolean error = jObj.getBoolean("error");

if (!error) {
    JSONObject values = jObj.getJSONObject("values");
    Iterator<?> keys = values.keys();

    while(keys.hasNext()) {
        String key = (String)keys.next();
        JSONObject value = jObj.getJSONObject(key);
        ...
    }

它在我得到异常的省略号之前的那一点:

org.json.JSONException: No value for "1"

我做的事情是完全愚蠢的,或者说什么,一切对我来说都没问题。我尝试了多种不同的东西,但仍然遇到同样的问题。 我最终想做的是获取名称obj并将其添加到字符串列表中。但我似乎无法超越这一点。

任何帮助或推动正确的方向都将不胜感激。

2 个答案:

答案 0 :(得分:1)

JSONObject value = jObj.getJSONObject(key);

替换为

JSONObject value = values.getJSONObject(key);

答案 1 :(得分:0)

JSONObject jObj = new JSONObject(response);
boolean error = jObj.getBoolean("error");

if (!error) {
    JSONObject values = jObj.getJSONObject("values");
    Iterator<?> keys = values.keys();

    while(keys.hasNext()) {
        String key = (String)keys.next();
        JSONObject value = values.getJSONObject(key);
        ...
    }
相关问题