将json文件的长行转换为可读文件
我需要关于如何将长行json文件转换为可读文件的帮助 这是json格式将json文件的长行转换为可读文件,json,linux,bash,shell,jq,Json,Linux,Bash,Shell,Jq,我需要关于如何将长行json文件转换为可读文件的帮助 这是json格式 "version": 1, "partitions": [{"topic": "Topic3", "partition": 7, "log_dirs": ["any"], "replicas": [3, 0, 2]}, {"topic": "Topic3", "partition": 4, "log_dirs": ["any"], "replicas": [3, 0, 2]}, {"topic": "Topic3", "pa
"version": 1, "partitions": [{"topic": "Topic3", "partition": 7, "log_dirs": ["any"], "replicas": [3, 0, 2]}, {"topic": "Topic3", "partition": 4, "log_dirs": ["any"], "replicas": [3, 0, 2]}, {"topic": "Topic3", "partition": 15, "log_dirs": ["any"], "replicas": [2, 3, 0]}, {"topic": "Topic3", "partition": 9, "log_dirs": ["any"], "replicas": [2, 3, 0]}, {"topic": "Topic3", "partition": 12, "log_dirs": ["any"], "replicas": [2, 3, 0]}, {"topic": "Topic3", "partition": 1, "log_dirs": ["any"], "replicas": [3, 2, 0]}, {"topic": "CatchAllTopic", "partition": 0, "log_dirs": ["any"], "replicas": [0, 3, 2]}, {"topic": "Topic3", "partition": 17, "log_dirs": ["any"], "replicas": [0, 3, 2]}, {"topic": "Topic3", "partition": 6, "log_dirs": ["any"], "replicas": [2, 0, 3]}, {"topic": "Topic3", "partition": 3, "log_dirs": ["any"], "replicas": [2, 0, 3]}, {"topic": "Topic3", "partition": 14, "log_dirs": ["any"], "replicas": [0, 2, 3]}, {"topic": "Topic3", "partition": 0, "log_dirs": ["any"], "replicas": [2, 0, 3]}, {"topic": "Topic3", "partition": 11, "log_dirs": ["any"], "replicas": [0, 2, 3]}, {"topic": "Topic3", "partition": 16, "log_dirs": ["any"], "replicas": [3, 0, 2]}, {"topic": "Topic3", "partition": 8, "log_dirs": ["any"], "replicas": [0, 3, 2]}, {"topic": "Topic3", "partition": 2, "log_dirs": ["any"], "replicas": [0, 3, 2]}, {"topic": "Topic3", "partition": 13, "log_dirs": ["any"], "replicas": [3, 0, 2]}, {"topic": "Topic3", "partition": 5, "log_dirs": ["any"], "replicas": [0, 3, 2]}, {"topic": "Topic3", "partition": 10, "log_dirs": ["any"], "replicas": [3, 0, 2]}]}
或者实际上更像这样:
而我们希望文件的格式如下
更多file.json
{"partitions":
[{"topic": "foo",
"partition": 1,
"replicas": [1,2,3],
"log_dirs": ["any","any","any"]
}],
.
.
.
.
.
如果出于某种原因无法安装jq,可以使用Python 3漂亮地打印json字符串:
echo '{ "name" : "Matias", "age": 32 }' | python3 -c 'import sys
import json
print(json.dumps(json.load(sys.stdin), indent=" "))
'
这将打印:
{
"name": "Matias",
"age": 32
}
希望有用。也许
jq。json
?除非您能提供更多的上下文,@dibery的建议听起来是正确的。请参阅我的question@Judy使用--compact output
选项到jq
使其在一行上打印输出。两个示例输入都不是有效的JSON,并且都包含一个尾随的}
,看起来首字母{
也丢失了。请澄清——问题的实质是关于有效的JSON,还是关于修复损坏的数据以使其成为有效的JSON,还是其他什么?