You can write your own serializer and deserializer for gson to serialize and deserialize Post
object.
While doing so use restfb's DefaultJsonMapper
to map Post ob.
Something Like,
private Gson gson = new GsonBuilder()
.serializeNulls()
.setFieldNamingPolicy(FieldNamingPolicy.LOWER_CASE_WITH_UNDERSCORES)
.registerTypeAdapter(Post.class, new PostDeserializer())
.registerTypeAdapter(Post.class, new PostSerializer())
.setPrettyPrinting()
.create();
private DefaultJsonMapper dMapper = new DefaultJsonMapper();
private class PostDeserializer implements JsonDeserializer<Post> {
@Override
public Post deserialize(JsonElement jsonElement, Type type,
JsonDeserializationContext context) throws JsonParseException {
Post post = dMapper.toJavaObject(jsonElement.toString(), Post.class);
return post;
}
}
private class PostSerializer implements JsonSerializer<Post> {
@Override
public JsonElement serialize(Post post, Type type,
JsonSerializationContext context) {
return gson.toJsonTree(dMapper.toJson(post));
}
}