Curl获取多个JSON对象

2024-09-28 19:08:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我必须调用一个服务从中获取一些数据。我用卷曲

Curl命令

< /example/data/sample.dat xargs -P10 curl -H "Authorization: Bearer $token" -X GET -L  > /example/json/data.json

我有我在这里使用的申请令牌。在

文件样品.dat看起来像这样

^{pr2}$

如你所见,我用10个ID对服务进行并行调用。在

我收到的输出是文件/example/json/data.json中的3个JSON对象。在

示例:

{.....}{...}{...}

现在,当我必须使用python解析它时,它会说无效json失败。这是正确的,因为该文件不表示标准的JSON数组

所以我试着用sed把它改成

[{.....},{...},{...}]

现在它看起来像JSON,可以被解析。这种逻辑对于较小的数据运行得很好,但是对于较大的数据,我认为我的sed无法将,放在JSON中的正确位置,因此导致了不正确的文件。结果,python中的JSON解析器失败了。在

现在我在考虑是否可以在每一行上有单独的JSON对象 像

{...}
{...}
{...}

这样我就可以逐行读取文件了。在

有人能帮我改变curl,在每一行上输出单独的json吗

{...}
{...}
{...} 

Tags: 文件数据sample对象命令jsondataexample
1条回答
网友
1楼 · 发布于 2024-09-28 19:08:43

将每个结果写入不同的JSON文件。在

i=0
while read url; do
    curl -H "Authorization: Bearer $token" -X GET -L > data.$i.json
    i=$((i+1))
done < sample.dat

或者您可以在循环中写入一个文件,在元素之间插入逗号分隔符。在

^{pr2}$

相关问题 更多 >