Мне нужна помощь в десериализации JSON в следующем формате в Java:
data.json
{
"tokens":[
{
"position":1,
"text":"hello",
"suggestions":[
{
"suggestion":"hi",
"points":0.534
},
{
"suggestion":"howdy",
"points":0.734
}
]
},
]
}
Я создал два класса, один с именем Token и другой с именем Suggestion, с атрибутамисоответствие формату JSON.
Token.java
public class Token {
private int position;
private String text;
private List<Suggestion> suggestions;
public Token(int position, String text, List<Suggestion> suggestions) {
this.position = position;
this.text = text;
this.suggestions = suggestions;
}
}
Suggestion.java
public class Suggestion {
private String suggestion;
private double points;
public Suggestion(String suggestion, double points) {
this.suggestion = suggestion;
this.points = points;
}
}
Как «распаковать» JSON в список токенов, каждыйиз которых две обязательные строки и список объектов Предложение в качестве своих атрибутов?(В идеале это будет использовать библиотеку Gson)
Я пробовал это, но это не работает:
Gson gson = new Gson();
Type listType = new TypeToken<List<Token>>(){}.getType();
List<Token> tokenList = gson.fromJson(jsonString, listType);
System.out.println(tokenList.get(0));
Спасибо