下面是一个例子:
class SomeType2 {
public String a;
public String b;
}
class SomeType1 {
public String c;
public SomeType2 d;
}
SomeType1 value = new SomeType1("c", new SomeType2("a", "b"));
objectMapper.writeValueAsString(value);
上面的连载应该给予我回
{
"c": "c",
"d": "{\"a\":\"a\",\"b\":\"b\"}"
}
我扫描了所有的Jackson注解,似乎没有一个能够实现这一点。
自定义序列化器(和反序列化器)是我实现这个简单目标的唯一希望吗?
2条答案
按热度按时间ogsagwnx1#
如果你想将SomeType 2序列化为String而不是普通的JSON对象,你需要定义一个自定义的de/serialiser。
dz6r00yl2#
经过一些改进后,获得了理想的性能:
输出为:{“c”:“c”,“d”:{“a”:“a”,“B”:“b”}}
至少应该显式提供构造函数或使用Lombok