Java Jackson使用注释打印
我正在使用Java Jackson使用注释打印,java,json,jackson,lagom,jackson-databind,Java,Json,Jackson,Lagom,Jackson Databind,我正在使用@JSONCreator和@JSONCreator在Lagom框架中将响应bean转换为JSON。但是,JSON没有格式化。如何使用注释(而不是ObjectMapper)漂亮地打印JSON?下面是我的示例响应bean: @Immutable @JsonDeserialize public class foo { private final List<Result> _result; private final MetadataBean _meta; @Js
@JSONCreator
和@JSONCreator
在Lagom框架中将响应bean转换为JSON。但是,JSON没有格式化。如何使用注释(而不是ObjectMapper)漂亮地打印JSON?下面是我的示例响应bean:
@Immutable
@JsonDeserialize
public class foo {
private final List<Result> _result;
private final MetadataBean _meta;
@JsonCreator
public foo (List<Result> _result, MetadataBean _meta) {
this._result= _result;
this._meta = _meta;
}
}
@不可变
@JsonDeserialize
公开课foo{
私人最终名单(结果);;
私有最终元数据库_meta;
@JsonCreator
公共foo(列表_结果,元数据库_元){
这个。_result=_result;
这个。_meta=_meta;
}
}
看起来漂亮的打印是由对象映射器和控制的。的Lagom文档有以下示例:
public class JsonTextSerializer implements MessageSerializer.NegotiatedSerializer<String, ByteString> {
private final ObjectMapper mapper = new ObjectMapper();
@Override
public MessageProtocol protocol() {
return new MessageProtocol(Optional.of("application/json"), Optional.empty(), Optional.empty());
}
@Override
public ByteString serialize(String s) throws SerializationException {
try {
return ByteString.fromArray(mapper.writeValueAsBytes(s));
} catch (JsonProcessingException e) {
throw new SerializationException(e);
}
}
}
mapper.enable(SerializationFeature.INDENT_OUTPUT);