解析 JSON Android 转换 jsonObject

Parse JSON Android convert jsonObject

我对 JSON 有疑问 我得到一个 json 因为 https://proxyepn-test.epnbn.net/wsapi/epn

但是当我想显示单个数据时,例如"name"。 控制台显示:

日志

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();
    }
JSONObject obj = new JSONObject(test2);
JSONObject data=obj.getJSONobject("data");
JSONObject ob1=obj.getJSONobject("1");
String pageName = ob1.getString("Name");

尝试以下:

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);
}

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

您共享的 Json 响应结构似乎有问题。为什么它不能是 "data" 中的数组?

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

其他

Android JSON parsing of multiple JSONObjects inside JSONObject