org.json.JSONException:没有结果值

时间:2016-02-04 17:57:22

标签: java php android json

我试图使用PHP将我的服务器中的一些数据解析为使用JSONObject和JSONArrays的Android Studio上的ListView,并且在尝试将JSON放入对象时在for循环中收到错误,错误是'没有结果的价值'尽管先前输出了JSON数组,但它显示了那里的数据。

循环:

Log.d("json: ", result);

JSONObject jsonObject = new JSONObject(result);
JSONArray jsonArray = jsonObject.getJSONArray("results");

for (int i = 0; i<1; i++){//<jsonArray.length()-1

    JSONObject getObj = jsonArray.getJSONObject(i);
    JSONObject classObj = getObj.getJSONObject("results");

    Classes dailyClasses = new Classes();
    dailyClasses.setClass_id("" + classObj.getString("id"));
    dailyClasses.setClass_name("" + classObj.getString("name"));
    dailyClasses.setClass_room("" + classObj.getString("room"));
    dailyClasses.setClass_day("" + classObj.getString("day"));
    dailyClasses.setClass_time("" + classObj.getString("time"));

    classList.add(dailyClasses);
}

错误:

02-04 17:45:48.830 23024-23047/com.example.cameron.projectapp W/System.err: org.json.JSONException: No value for results

这条线与&#39;结果&#39;是我的JSONArray的名字:  JSONObject classObj = getObj.getJSONObject("results");

我错过了一些非常明显的东西吗?

2 个答案:

答案 0 :(得分:0)

你已经拥有了数组现在你需要的只是单个数组,不需要再次获取数组,因为它不存在。

像这样更改for循环

for (int i = 0; i<jsonArray.length(); i++){
    JSONObject classObj = jsonArray.getJSONObject(i);

    Classes dailyClasses = new Classes();
    dailyClasses.setClass_id("" + classObj.getString("id"));
    dailyClasses.setClass_name("" + classObj.getString("name"));
    dailyClasses.setClass_room("" + classObj.getString("room"));
    dailyClasses.setClass_day("" + classObj.getString("day"));
    dailyClasses.setClass_time("" + classObj.getString("time"));

    classList.add(dailyClasses);
}

答案 1 :(得分:0)

试试这个

 for (int i = 0; i<1; i++){//<jsonArray.length()-1

            JSONObject classObj = jsonArray.getJSONObject(i);


            Classes dailyClasses = new Classes();
            dailyClasses.setClass_id("" + classObj.getString("id"));
            dailyClasses.setClass_name("" + classObj.getString("name"));
            dailyClasses.setClass_room("" + classObj.getString("room"));
            dailyClasses.setClass_day("" + classObj.getString("day"));
            dailyClasses.setClass_time("" + classObj.getString("time"));

            classList.add(dailyClasses);
        }