次のJavaBeanクラスがあり、Jacksonを使用してJSONに変換されます。
public class Thing {
public String name;
@JsonRawValue
public Map content = new HashMap();
}
content
値が別のソースからの生のJSONになるマップです。例えば:
String jsonFromElsewhere = "{ \"foo\": \"bar\" }";
Thing t = new Thing();
t.name = "test";
t.content.put("1", jsonFromElsewhere);
生成されるJSONは次のとおりです。
{"name":"test","content":{"1":{ "foo": "bar" }}}
ただし、@JsonRawValue
次の結果を使用します。
{"name":"test","content":{1={ "foo": "bar" }}}
私が必要としている@JsonRawValue
のは、マップの値に対してのみ指定する方法です。これはジャクソンで可能ですか?