我通过并行运行多个curl语句(对服务的GET请求)创建了一个JSON文件作为响应。
现在,当我尝试使用python解析JSON文件时,它失败,因为文件附加了多个JSON
错误:
错误:第1行的解析错误: ... CT_AGGREGATE “}]}]}]} {” serviceResponseTim ----------------------- ^ 期待'EOF','}',',',']',得到'{'
文件中的示例:
{“serviceResponseTime”:510,........... .......:[{ “的categoryId”:28162 “metricValue”:97, “天”: “NONE”, “metricMappedType”: “PRODUCT_AGGREGATE” 的}]}]}]} {“serviceResponseTime “:387,” 产品 “:[{” productReferenceId“:...................
如您所见,这些是从2个卷曲语句获得的2个响应,但是当我使用xargs并行运行它时,它将输出附加在1行。
现在我的问题是解析这个文件。
任何人都可以建议一种方法将curl命令的输出放在文件中的单独行中。
或者粗略的方式,我认为如果我可以从文件的开头提取部分直到“}]}]}]} {”,从当前文件切割并将其放入另一个文件并运行JSON解析器该文件只有1个JSON o / p。在我们从中删除每个JSON之后,在循环中重复此操作,直到原始文件为空。现在我的问题是我无法从行的开头提取到}]}]}}} {。
此外,所有JSON o / ps都附加在一行中,并且不在单独的行上,否则我会逐行阅读。
有人可以帮忙吗?
答案 0 :(得分:2)
我们假设你有这个输入文件:
{"name": "foo"}{"name": "bar"}
您可以使用jq
命令:
jq -s . input.file
将input.file传输到:
[
{
"name": "foo"
},
{
"name": "bar"
}
]
我希望有帮助