Используя Gson, я пытаюсь выполнить синтаксический анализ ниже json, но получаю исключение нулевого указателя. Пожалуйста, найдите ниже объекты класса для загрузки вывода JSON.

Json файл:

{
  "q1": {
    "question": "Which one is correct team name in NBA?",
    "options": [
      "New York Bulls",
      "Los Angeles Kings",
      "Golden State Warriros",
      "Huston Rocket"
    ]
  }
}

Класс данных для загрузки q1:

public class Data {
    Q1 q;
}

Класс Q1 для загрузки данных JSON внутри q1:

public class Q1 {

    String question;
    List<String> options;
    String answer;

}

Класс бегуна для разбора данных:

public class ParseData {

    public static void main(String[] args) throws IOException {

        String dataAsString = new 
        String(Files.readAllBytes(Paths.get("data.json")));
        System.out.println(dataAsString);

        Gson gson = new Gson();
        Data data = gson.fromJson(dataAsString, Data.class);
        System.out.println("printing question ... "+data.q.question);

    }

}

Может кто-нибудь, пожалуйста, помогите, спасибо заранее.

0
Vinay R 17 Апр 2019 в 09:04

2 ответа

Лучший ответ

Ваш объект класса должен быть таким же, как ваш ключ JSON. измените свой объект с q на q1

0
Sumit Srivastava 17 Апр 2019 в 06:26

Вам нужно изменить свой Q1 q на Data class на Q1 q1.

1
Gal Naor 17 Апр 2019 в 06:06