我正在编写一个工具来修改groovy中的巨大json文件。我读了这个文件,添加了新条目并保存,但是我想避免改变我没有触及的地方。
我使用new JsonBuilder( o ).toPrettyString()
来获得格式相当的json输出,但是这个函数给了我这样的结果:
{
"key": "Foo",
"items": [
{
"Bar1": 1
},
{
"Bar2": 2
}
]
}
当我需要这个时:
{
"key": "Foo",
"items":
[
{
"Bar1": 1
},
{
"Bar2": 2
}
]
}
[
之前应该有换行符。
这对我来说很重要,因为在其他方面我无法在GIT历史中找到我真正改变的内容。
你知道如何实现这个目标吗?
答案 0 :(得分:0)
JsonBuilder
方法toPrettyString()
直接委托给JsonOutput.prettyPrint()
,如下所示:
public String toPrettyString() {
return JsonOutput.prettyPrint(toString());
}
后一种方法根本无法自定义。但是,源可以从任何Maven中央存储库或镜像免费获得。我建议找到源并创建自己的方法变体,其行为方式与您希望的方式相同。 JsonOutput.prettyPrint()
的来源只有大约65行,不应该那么难改变。