首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用cURL从while循环bash shell中发布json数据

使用cURL从while循环bash shell中发布json数据
EN

Unix & Linux用户
提问于 2016-03-21 18:43:25
回答 1查看 7.6K关注 0票数 1

我有一个JSON输出,我需要从中提取一个ID并迭代它们,并发送多个请求到API,使用curl执行REST。例如:

JSON输出是这样的:

代码语言:javascript
复制
{
    "glossary": [
        {
            "Title": "example glossary1",
            "id": 1,
            "description": "Hello Glossary1"
        },
        {
            "Title": "example glossary2",
            "id": 2,
            "description": "Hello Glossary2"
        },
        {
            "Title": "example glossary3",
            "id": 3,
            "description": "Hello Glossary3"
        },
        {
            "Title": "example glossary4",
            "id": 4,
            "description": "Hello Glossary4"
        }
    ]
}

shell脚本应该循环这个JSON文件,提取ID并循环通过并使用CURL执行REST调用。

下面是一个例子:

代码语言:javascript
复制
for (( i = 0 ; i < ${#id[@]} ; i++ ))
do 
     POST REST API 
done
EN

回答 1

Unix & Linux用户

发布于 2016-03-21 23:27:52

如果您在一个名为tmp.json的文件中输出,请使用jq获取in列表,每一行一个,然后使用一个简单的for循环向api发送一个帖子。

代码语言:javascript
复制
for i in `cat tmp.json  | jq .glossary[].id`; do 
   curl -X POST http://host/api/$i"
done
票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/271307

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档