我有以下代码将对象转换为Json:
public static Function<Object, Object> WRITE_JSON = (Object val) -> {
try {
return new ObjectMapper().writeValueAsString(val);
} catch (IOException e) {
// log exception
return "";
}
}
这在大多数情况下都可以正常工作,但是我有一个名为AvroData
的Avro类和一个保存它的类:
class SomeData {
private AvroData avroData;
// more fields, getter/setter boilerplate, etc...
}
当我尝试将对象序列化为Json
时,尝试序列化Avro
字段时失败。
实际上,我还有更多数据,例如Set
和Map
包含Avro
记录值,但我认为这很重要。
如何将avro序列化为json,特别是当它是Non-avro对象的一部分时?
答案 0 :(得分:0)
要使用Jackson转换JSON中的Object val
,
ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();
String json = ow.writeValueAsString(val);