Я пытаюсь десериализовать некоторые JSON из Википедии, используя библиотеку GSON. Как правило, я создаю каждый объект в Java как он есть в JSON, например:
{
query: {
pages: {
page: {
pageid: 168079,
ns: 0,
title: "2010 FIFA World Cup"
}
}
}
}
Это позволит мне десериализовать, используя следующий код Java:
class PageIdResponseGson
{
private QueryResults query;
public static class QueryResults
{
private PageResults pages;
public PageResults getPages() {
return pages;
}
}
public static class PageResults
{
private PageResult page;
public PageResult getPage() {
return page;
}
}
public static class PageResult
{
private int pageid;
private int ns;
private String title;
public int getNs() {
return ns;
}
public int getPageid() {
return pageid;
}
public String getTitle() {
return title;
}
}
public QueryResults getQuery() {
return query;
}
}
Тем не менее, JSON из Википедии использует идентификатор страницы в качестве имени объекта, что означает, что я не могу использовать этот подход.
{
query: {
pages: {
168079: {
pageid: 168079,
ns: 0,
title: "2010 FIFA World Cup"
}
}
}
}
Есть ли способ, которым я могу использовать какую-то универсальную оболочку для обработки этих динамических имен объектов?