Парсинг json файла из json

373
22 января 2017, 14:26

Есть json файл, данные которого после парсинга выводятся. Один из объектов хранит в себе ссылку на другой json-файл. В таком роде:

"date": "2016-06-25T13:00:00Z",
"status": "FINISHED",
"link" : {
      "homeTeam": { "href": "http://api.football-data.org/v1/teams/788"}
}

Сам парсер был найден в интернете, но я более и менее разобрался, и я его немного изменил, под себя

private class ParserJSON extends AsyncTask<Void, Void, String> {
    HttpURLConnection urlConnection = null;
    BufferedReader reader = null;
    String resultJson = "";
    @Override
    protected String doInBackground(Void... params) {
        try {
            URL url = new URL("http://api.football-data.org/v1/soccerseasons/424/fixtures");
            urlConnection = (HttpURLConnection) url.openConnection();
            urlConnection.setRequestMethod("GET");
            urlConnection.connect();
            InputStream inputStream = urlConnection.getInputStream();
            StringBuffer buffer = new StringBuffer();
            reader = new BufferedReader(new InputStreamReader(inputStream));
            String line;
            while ((line = reader.readLine()) != null) {
                buffer.append(line);
            }
            reader.close();
            inputStream.close();
            resultJson = buffer.toString();
        } catch (Exception e) {
            e.printStackTrace();
        }
        return resultJson;
    }
    @Override
    protected void onPostExecute(String strJson) {
        super.onPostExecute(strJson);
        JSONObject dataJsonObj = null;
        try {
            dataJsonObj = new JSONObject(strJson);
            JSONArray friends = dataJsonObj.getJSONArray("fixtures");
            for (int i = 0; i < friends.length(); i++) {
                JSONObject friend = friends.getJSONObject(i);
                JSONObject res = friend.getJSONObject("result");
                JSONObject _links = friend.getJSONObject("_links");
                int matchday = friend.getInt("matchday");
                if(matchday == 4) {
                    String date = friend.getString("date");
                    String status = friend.getString("status");
                    String homeTeamName = friend.getString("homeTeamName");
                    String awayTeamName = friend.getString("awayTeamName");
                    int goalsHomeTeam = res.getInt("goalsHomeTeam");
                    int goalsAwayTeam = res.getInt("goalsAwayTeam");
                    String homeTeamImagePath = _links.getString("homeTeam");
                    Match _match = new Match(date, status, matchday, homeTeamName, awayTeamName, goalsHomeTeam, goalsAwayTeam);
                    matches.add(_match);
                }
            }
        } catch (JSONException e) {
            e.printStackTrace();
        }
    }
}

Класс ParserJSON является вложенным. Его объект создаётся при запуске приложение

new ParserJSON().execute();

Данные из файла записываются в ArrayList.
Я не знаю как мне пропарсить json-файл и json-файл, ссылка на который хранится в объекте homeTeam
Помогите, пожалуйста

READ ALSO
Как обновить JavaFX API?

Как обновить JavaFX API?

Привет всем! Только начинаю знакомиться с JavaFX и обнаружил множество проблем связанных с нимВо время сборки приложения в среде IDEA, в консоли...

677
Озвучка текста из строки (Java)

Озвучка текста из строки (Java)

Каким образом можно реализовать озвучку строки (из того же NetBeans под Windows,не под Android!) при помощи встроенного синтезатора речи Android

691
Jackson 2 и Конвертация java объекта в json

Jackson 2 и Конвертация java объекта в json

Добрый деньПытаюсь отправить объект из спринг контроллера на ангуляр и на вьюшку:

545
Что такое Null Pointer Exception и как его исправить?

Что такое Null Pointer Exception и как его исправить?

Что из себя представляет исключение Null Pointer Exception (javalang

441