【问题标题】:Parse JSON Android convert jsonObject解析 JSON Android 转换 jsonObject
【发布时间】:2016-10-18 09:05:57
【问题描述】:

JSON 有问题 从https://proxyepn-test.epnbn.net/wsapi/epn 开始,我得到了一个 json

但是当我想显示单个数据时,例如“名称”。 控制台显示:

日志

org.json.JSONException: No value for Name
org.json.JSONException: Value status at 0 of the type java.lang.String can not be converted to JSONObject

你能帮帮我吗? 谢谢。

这是我的代码:

String test2 = test.execute(restURL).get().toString();
        Log.i("result",test2);
JSONObject obj = new JSONObject(test2);
        String data = obj.getString("data");
        Log.i("testjson",data);
        String pageName = obj.getJSONObject("data").getString("Name");
        Log.i("testjsondata",pageName);
    } catch (InterruptedException e) {
        e.printStackTrace();
    } catch (ExecutionException e) {
        e.printStackTrace();
    } catch (JSONException e) {
        e.printStackTrace();
    }

【问题讨论】:

    标签: android json parsing jsonobject


    【解决方案1】:

    试试下面:

    JSONObject obj = new JSONObject(test2);
    JSONObject data = obj.getJSONObject("data");
    Iterator<String> iterator = data.keys();
    while(iterator.hasNext()){
            String key = iterator.next();
            String Name = data.getString(key);
    }
    

    【讨论】:

    • 谢谢你的回复我现在可以有每个块我的json但是你怎么只有一个类别的数据,比如“名字”thx
    【解决方案2】:
    JSONObject obj = new JSONObject(test2);
    JSONObject data=obj.getJSONobject("data");
    JSONObject ob1=obj.getJSONobject("1");
    String pageName = ob1.getString("Name");
    

    【讨论】:

      【解决方案3】:

      您必须解析下一级 JSONObject(从响应中标记为“1”、“2”、“3”..)。

      您共享的 Json 响应结构中似乎存在问题。为什么它不能是“数据”内的数组?

      然后您可以轻松地将数据读取为 JSONArray,并将这些对象作为 ("1","2","3"..) 数组项。

      其他

      Android JSON parsing of multiple JSONObjects inside JSONObject

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-10-16
        • 1970-01-01
        • 1970-01-01
        • 2015-10-16
        • 2013-11-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多