为什么JSON中的现有对象显示错误“ No value for”

时间:2019-10-22 22:36:35

标签: java json android-studio

我正在使用Android Studio中的JSON从Blogger开发博客阅读器。我没有问题获取文章信息,但是如果我尝试获取nextPageToken则不起作用。

这是我的代码:

    private void parseJSON(String url) {
        JsonObjectRequest request = new JsonObjectRequest(Request.Method.GET, url, (String) null,
                new Response.Listener<JSONObject>() {
                    @Override
                    public void onResponse(JSONObject response) {
                        try {
                            String answer = response.getString("nextPageToken");
                        } catch (JSONException e) {
                            e.printStackTrace();
                            nextPageStr = "";

                        }

                        try {
                            JSONArray jsonArray = response.getJSONArray("items");
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }


                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError error) {
                error.printStackTrace();
            }
        });

        mRequestQueue.add(request);

    }

我也尝试使用JSONObject而不是String,使用:JSONObject nextPageTokenObject = response.getJSONObject(“ nextPageToken”);

我使用的另一个选项是在第二个Try中使用if语句,以获取其余信息:

if (response.has("nextPageToken")){
                                System.out.println("Got next page!!");
                               String nextPageToken = response.getString("nextPageToken");
                            }

我得到的错误是:

  

W / System.err:org.json.JSONException:nextPageToken没有值

     

W / System.err:位于org.json.JSONObject.get(JSONObject.java:392)

JSON代码对nextPageToken来说是虚假的:

{
 "kind": "blogger#postList",
 "nextPageToken": "CgkIChiA8pj-0ywQ1_iv0tag1pUS",
 "items": [
  {"url": "http...",
   "title": "some",
   "content": "some"

 (I erased this info because it was to long but all the info in items is working properly)
  }
 ]
}

所以我尝试了这3个选项,但是错误是相同的,为什么它说为空?,如何从​​nextPageToken中获取信息?

非常感谢

0 个答案:

没有答案