gpt4 book ai didi

java - Jackson JSON 使用注释进行 pretty-print

转载 作者:行者123 更新时间:2023-11-30 06:52:16 25 4
gpt4 key购买 nike

我正在使用 @JSONCreator@JsonCreator 将响应 bean 转换为 Lagom 框架中的 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;
}

}

最佳答案

看起来 pretty-print 是由ObjectMappercannot be influenced by annotations控制的。 。 negotiated serializers 的 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);
}
}
}

然后可以在映射器上启用 pretty-print (可能在构造函数中):

mapper.enable(SerializationFeature.INDENT_OUTPUT);

关于java - Jackson JSON 使用注释进行 pretty-print ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42526567/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com