Как я могу проанализировать этот вывод JSON для SMMRY API? - PullRequest
0 голосов
/ 29 апреля 2018
{  
     "sm_api_character_count": "1284",
     "sm_api_content_reduced": "64%",
     "sm_api_title": "‘Schoolhouse Rock\\'",
     "sm_api_content": " Musician Bob Dorough, 94, best known as a 
     composer 
     and performer for ABC's educational series of short cartoons 
     Schoolhouse Rock!, died of natural causes at his Mount Bethel, 
     Pa., home on Monday, his son, Chris, said. Mc Call asked Mr. 
     Dorough to put the multiplication tables to music, leading to 
     \"Three Is a Magic Number,\" as well as a Multiplication Rock 
     collection.",
     "sm_api_limitation": "Waited 0 extra seconds due to API Free mode, 
     97 requests left to make for today."
}

Image of JSON Output now visible

Я использую API под названием smmry и пытаюсь проанализировать объект JSON "sm_api_content", чтобы получить сводную информацию по связанной статье. Тем не менее, мне трудно это сделать. Согласно smmry, эти объекты заключены в массив JSON, но я не знаю, как называется этот массив (поскольку на снимке экрана нет квадратных скобок для обозначения массива).

try {
        JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(
                Request.Method.GET,
                "https://api.smmry.com/&SM_API_KEY="
                        + API_KEY + "&SM_URL=" + "https://www.studentnewsdaily.com/daily-news-article/schoolhouse-rock/",
                null,
                new Response.Listener<JSONObject>() {
                    @Override
                    public void onResponse(final JSONObject response) {
                        try {
                            Log.d(TAG, response.toString(2));
                        } catch (JSONException ignored) { }
                        try {
                            String theSummary = response
                                    .getJSONObject("sm_api_content")
                                    .toString();
                            TextView getSummary = findViewById(R.id.getSummary);
                            getSummary.setText(theSummary);
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    }
                }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(final VolleyError error) {
                Log.e(TAG, error.toString());
            }
        });
        requestQueue.add(jsonObjectRequest);
    } catch (Exception e) {
        e.printStackTrace();
    }

Это то, что я сейчас делаю, но, очевидно, это не работает. Любое руководство или помощь будет высоко ценится! Спасибо!

...