假设您有一个包含 C 风格注释的 json 文件
{
"foo": {
"default_level": "debug",
// A comment
"impl": "xyz"
},
"bar": [
{
/*This is a comment*/
"format": "%l%d %c ….",
"rotation": "daily, 1_000_000",
}
]
}
在 json 被反序列化之前,使用 Java 去除这些注释的最简单方法是什么?假设仅支持单行 //
和多行 /**/
注释。
最终,我想读取同一文件的 String
表示形式,但没有注释:
{
"foo": {
"default_level": "debug",
"impl": "xyz"
},
"bar": [
{
"format": "%l%d %c ….",
"rotation": "daily, 1_000_000",
}
]
}
最佳答案
将其作为 Javascript 处理可能会更好,因为 JSON 几乎是 Javascript 的子集,而 JSON + C 类注释实际上几乎是 Javascript 的子集。尝试:
Looking to remove comments from a large amount of javascript files
基本上 - 只需首先通过您最喜欢的缩小器运行它即可。请注意JSON is not a strict subset of Javascript所以你需要将近乎合法的 JSON 塞进合法的 Javascript 中,然后才能信任压缩器。幸运的是,这可以通过简单的查找和替换来解决。
关于java - 从其他合法的 json 中剥离类似 C 的注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17350679/