我有一个 JSON 文件,如下所示
{
"Foo": "ABC",
"Bar": "20090101100000",
"Quux": {
"QuuxId": 1234,
"QuuxName": "Sam"
}
}
我想将其转换为以下内容
{"Foo":"ABC","Bar":"20090101100000","Quux":{"QuuxId":1234,"QuuxName":"Sam"}}
我尝试删除 '\n'、'\t' 和 ' ' 字符;但我没有得到所需的格式。我该如何转换它?
答案1
最安全的方法是使用 JSON 解析器,否则,从技术上讲,您将面临修改数据的风险。
使用jq
:
$ jq -c . file.json
{"Foo":"ABC","Bar":"20090101100000","Quux":{"QuuxId":1234,"QuuxName":"Sam"}}
-c
to 标志是jq
该标志的简短版本--compact-output
,将提示jq
生成尽可能最紧凑的输出。该点是一个简单的直通过滤器,不会修改任何数据。
请注意,表示 JSON 文档的两种方式是等效的,因为键和值之间的任何空格都是无关的。 JSON 解析器可以毫无问题地读取任一格式(或介于两者之间的任何格式)。