You have to write new deserializer for your class. It could look like this:
class ArticleJsonDeserializer extends JsonDeserializer<Article> {
@Override
public Article deserialize(JsonParser parser, DeserializationContext context)
throws IOException, JsonProcessingException {
RawArticle rawArticle = parser.readValueAs(RawArticle.class);
return rawArticle.toArticle();
}
private static class RawArticle {
public String title;
public JsonNode custom;
Article toArticle() {
Article article = new Article();
article.setTitle(title);
article.setCustom(custom.toString());
return article;
}
}
}
Your Article
class should look like this:
@JsonDeserialize(using = ArticleJsonDeserializer.class)
class Article {
....
}
Now you can easily deserialize your JSON to Article
class.