我用于“学生”的JSON如下所示。
{
"phone":"703-703-1234",
"poc":"XYZ",
"name":"ABC",
"location":"California",
"id":10,
"deletedBy":null,
"statusObj":{
"descr":"IN PROGRESS",
"id":10},
"createDate":1595396946000,
"deleteDate":null}我获得子元素的代码如下:
JSONArray data = jsonObj.getJSONArray("Students");
for(int i=0; i<data.length(); i++){
if(data.getJSONObject(i).has("statusObj") && !data.getJSONObject(i).isNull("statusObj")){
JSONObject status = (JSONObject)data.getJSONObject(i).get("statusObj");
Iterator iterator = status.keys();
while(iterator.hasNext()){
String key = (String)iterator.next();
System.out.println("Descr is ..- "+key);
//JSONObject page = status.getJSONObject(key);
JSONObject page = status.getJSONObject("descr");
System.out.println("Descr is - "+page);
}
}
}当我试图得到"descr“obj时,我会得到以下异常
Descr is ..- descr
org.json.JSONException: JSONObject["descr"] is not a JSONObject.
at org.json.JSONObject.getJSONObject(JSONObject.java:557)发布于 2020-08-31 19:56:18
异常确实说明了一切-键"descr"并不是指对象,而是指字符串。您应该使用getString来代替:
String page = status.getString("descr");https://stackoverflow.com/questions/63677305
复制相似问题