Я пишу фреймворк для веб-службы api, который возвращает json. Я использую библиотеку Джексона для десериализации строки json. Api возвращает свойство для продолжения получения результата запроса. Ответ такой:Преобразование двух типов json в один и тот же объект
{
continueToken:"token",
results: [
{
},
]
}
Все ответы имеют эту структуру. Единственная проблема заключается в том, что имя свойства continue отличается от запроса другим. Зовут как этот
prefix + "continue"
Я хочу создать только один класс, и чтобы иметь возможность сопоставить JSON к этому классу. Как я могу это сделать? Вот что я хочу:
public class Response {
private String continueToken;
private List<Article> results;
public Response (String continueToken, Article[] articles) {
this.continueToken = continueToken;
this.results = Arrays.asList(articles);
}
}
//Here the name is ttcontinue
String json = request.get(type1);
Response r = jsonToResponse(json);
//Here the name is llcontinue
json = request.get(type2);
r = jsonToResponse(json);
Ваш вопрос сбивает с толку. Таким образом, все ответы имеют переменную 'continueToken', но у запросов есть другое имя переменной, в котором нужно передать' continueToken'? Не могли бы вы взять маркер из ответа и передать его в нужную переменную на запрос, а затем сериализовать в json? –