clang-格式化 json 文件
clang-format a json file
我有一个 json 文件。如果我在上面 运行 clang-format,它会将其格式化为代码(丑陋)。
{
"name" : "My great app",
"description" : "It's really cool.",
"version" : "0.0.1"
}
如果我把 'foo = ' 放在文件的开头,那很好,但它不再是 json。
foo = {
"name" : "My great app",
"description" : "It's really cool.",
"version" : "0.0.1"
}
如何获得 clang-format 以格式化 json 文件中的裸对象,如第二个示例所示?
我个人会使用 python,使用 json
的漂亮打印机包:
cat mydata.json | python -mjson.tool
如果您不喜欢默认设置:
cat mydata.json | python -c 'import json, sys; print(json.dumps(json.load(sys.stdin), indent=4, sort_keys=True))'
否则,我没有安装clang-format
,为了打印漂亮,我宁愿使用现有的工具。
N.B.: 您也可以在 vim
内完成并在完整文件选择上使用 ==
普通命令 ☺
我喜欢使用的另一个程序是jq。它非常易于使用,文档也很棒。例如,对于简单的重新格式化,您可以这样做:
jq . test.json
如果您的系统上有 json_pp
,您还可以:
cat test.json | json_pp
我一直在努力让这个被接受,https://reviews.llvm.org/D93528,这通过在文件的前面添加一个隐藏的“x =”来完成你的建议,然后在使用替换机制格式化后删除它.
在此之前,我认为您可以使用 clang-apply-replacements 做类似的事情
我有一个 json 文件。如果我在上面 运行 clang-format,它会将其格式化为代码(丑陋)。
{
"name" : "My great app",
"description" : "It's really cool.",
"version" : "0.0.1"
}
如果我把 'foo = ' 放在文件的开头,那很好,但它不再是 json。
foo = {
"name" : "My great app",
"description" : "It's really cool.",
"version" : "0.0.1"
}
如何获得 clang-format 以格式化 json 文件中的裸对象,如第二个示例所示?
我个人会使用 python,使用 json
的漂亮打印机包:
cat mydata.json | python -mjson.tool
如果您不喜欢默认设置:
cat mydata.json | python -c 'import json, sys; print(json.dumps(json.load(sys.stdin), indent=4, sort_keys=True))'
否则,我没有安装clang-format
,为了打印漂亮,我宁愿使用现有的工具。
N.B.: 您也可以在 vim
内完成并在完整文件选择上使用 ==
普通命令 ☺
我喜欢使用的另一个程序是jq。它非常易于使用,文档也很棒。例如,对于简单的重新格式化,您可以这样做:
jq . test.json
如果您的系统上有 json_pp
,您还可以:
cat test.json | json_pp
我一直在努力让这个被接受,https://reviews.llvm.org/D93528,这通过在文件的前面添加一个隐藏的“x =”来完成你的建议,然后在使用替换机制格式化后删除它.
在此之前,我认为您可以使用 clang-apply-replacements 做类似的事情