次のように、rest-facebook 応答を Post クラス オブジェクトに変換しようとしています。
Post post = gson.fromJson(restFBResponse.toString(), Post.class);
はrestFBResponse
Facebook からの投稿です。しかし、それはエラーになります:
Exception in thread "main" java.lang.IllegalArgumentException: class com.restfb.types.Post declares multiple JSON fields named type
これは次の理由によると思います。
1)
class Post extends NamedFacebookType{
@Facebook
private String type;
//and some more class members
}
2)
class NamedFacebookType extends FacebookType {
//few class members
}
3)
class FacebookType implements Serializable {
@Facebook
private String type;
//and some more class members
}
したがって、private String type;
は と で 2 回宣言されclass Post
ていclass FacebookType
ます。
1) そのような再宣言がサブクラスで発生した場合、それをオーバーライドすべきではありませんか? と
2) どうすればこのエラーを克服できますclass com.restfb.types.Post declares multiple JSON fields named type
か?