目前我正在使用Jackson JSON 处理器将偏好数据和其他数据写入文件,主要是因为我希望高级用户能够修改/备份这些数据。Jackson非常适合这个任务,因为它非常易于使用,而且性能表现良好(请参见此处)。然而,我使用myObjectMapper.writeValue(myFile, myJsonObjectNode)
时唯一遇到的问题是它会将ObjectNode
中的所有数据都写成一行。我想要做的是将JSON格式化为更加用户友好的格式。
例如,如果我传递一个简单的JSON树给它,它会写入以下内容:
{"testArray":[1,2,3,{"testObject":true}], "anotherObject":{"A":"b","C":"d"}, "string1":"i'm a string", "int1": 5092348315}
I would want it to show up in the file as:
{
"testArray": [
1,
2,
3,
{
"testObject": true
}
],
"anotherObject": {
"A": "b",
"C": "d"
},
"string1": "i'm a string",
"int1": 5092348315
}
有没有人知道如何使用Jackson来实现这个功能,或者我必须从Jackson获取JSON字符串并使用另一个第三方库来格式化它?谢谢!
mapper.defaultPrettyPrintingWriter()
,但是我找到了它实际上是mapper.writerWithDefaultPrettyPrinter()
。感谢帮助! - Brandonmapper.defaultPrettyPrintingWriter()
在 Jackson 1.9.2 中已经被弃用。 - Marco Lackovic