你可以用一个
Map<K, V>
具有
@JsonAnyGetter
:
public class TypeObjectPair {
private Map<String, Object> data = new HashMap<>();
public TypeObjectPair(String key, Object value) {
data.put(key, value);
}
@JsonAnyGetter
public Map<String, Object> getData() {
return data;
}
}
然后使用如下:
ObjectMapper mapper = new ObjectMapper();
TypeObjectPair pair = new TypeObjectPair("com.example.object", new Person(1, "Peter"));
String json = mapper.writer().withDefaultPrettyPrinter().writeValueAsString(pair);
输出为:
{
"com.example.object" : {
"id" : 1,
"name" : "Peter"
}
}