Gsonを使用してオブジェクトをシリアル化する際に問題が発生しました。Gsonはルート値を含むPOJOをシリアル化しますか?
@XmlRootElement
class Foo implements Serializable {
private int number;
private String str;
public Foo() {
number = 10;
str = "hello";
}
}
Gsonは、JSON
{"number":10,"str":"hello"}
にこれをシリアライズします。
はしかし、私はそれはとても基本的にトップレベルの要素を含む
{"Foo":{"number":10,"str":"hello"}}
、
になりたいです。私はGsonでこれを行う方法をGoogleに試みましたが、運はありません。誰かがこれを達成する方法があるかどうかを知っていますか?
ありがとうございます!
:あなたの所望の構造を与えるであろう
を:
その後、あなたは簡単に使用してJSONを解析することができますクラス型 "Foo"を要素にハードコードします。 – fei
@feiはい。理想的には、あなたがGsonから得ているものは正しいです。 JSONの 'Foo'オブジェクトの正しい表現は' {"number":10、 "str": "hello"} 'です。その場合、インスタンス変数としてFooを持つクラスがある場合は、 '{" foo ":{" number ":10、" str ":" hello "}}' - を前に置く必要があります明示的にクラス名を追加する必要があります。 – Nishant