class Foo { String name = "Bar";}使用 序列化上述對象將返回 JSON 對象,如下所示:ObjectMapper().convertValue(foo, JsonNode::class){ "name": "Bar"}然而,我想要的結果是:{ name: "Bar"} 我嘗試過自定義序列化器,但它總是將鍵寫入字符串。有沒有辦法使用Jackson或其任何注釋以這種格式序列化我的POJO,以避免替換字符或自己構建字符串。
1 回答

一只斗牛犬
TA貢獻1784條經驗 獲得超2個贊
除了您的“JSON”將不再有效之外,您還可以在.JsonGenerator.Feature.QUOTE_FIELD_NAMESObjectMapper
ObjectMapper mapper = new ObjectMapper()
.disable(JsonGenerator.Feature.QUOTE_FIELD_NAMES);
結果將是:mapper.writeValueAsString(new Foo())
{name:"Bar"}
要啟用漂亮的打印,您可以使用以下任一方法:
ObjectMapper mapper = new ObjectMapper()
.disable(JsonGenerator.Feature.QUOTE_FIELD_NAMES)
.enable(SerializationFeature.INDENT_OUTPUT);
或者在輸出步驟中使用以下命令:
String result = mapper
.writerWithDefaultPrettyPrinter()
.writeValueAsString(new Foo());
在這兩種情況下,結果都是:
{
name : "Bar"
}
添加回答
舉報
0/150
提交
取消