gsonを使用して、JSON表現からPOJOオブジェクトを逆シリアル化します。
POJOの1つのフィールドの1つに任意のJSONデータを含めたいのですが。例えば:
class B {
public String stringField;
public JsonObject jsonField;
}
Gson.fromJson(json, B.class)
次のJSONを呼び出せるようにしたいと思います。
{
"stringField": "booger",
"jsonField" :
{
"arbitraryField1": "foo"
}
}
結果には、値B.jsonField
がのJsonObjectが含まれます。arbitraryField
foo
ただし、これを実行しようとすると、jsonField
は常に空のオブジェクト({}
)になります。実際、より一般的には、以下は常に空のオブジェクトを返すように見えます。
new Gson().fromJson("{ foo: 1 }", JsonObject.class)
foo
上記では、値1という名前のフィールドを含むオブジェクトが返されると思います。
jsonをPOJOSに逆シリアル化するときに、gsonに任意のjsonデータを保持させるにはどうすればよいですか?