json - 卷曲命令并将其输出格式化为 URL/文件路径列表
问题描述
我正在运行 curl 命令(带有--compressed
)并收到以下响应:
{"data":{"getByCode":{"details":{"images":[{"url":"https://pics.example.com/pics/pics1600x1200/example/1/189e2083-b33f-492f-8ef4-41f61a2c7e56.jpg","title":"Außenansicht"},{"url":"https://pics.example.com/pics/pics1600x1200/example/5/5f70963d-c15d-4cbb-80a2-63aed4f98720.jpg","title":"Außenansicht"},{"url":"https://pics.example.com/pics/pics1600x1200/example/f/fb74a1fb-b63b-4c2e-8a39-d4ecabf25276.jpg","title":"POOL ROOF TOP"},{"url":"https://pics.example.com/pics/pics1600x1200/example/d/decfc337-e0dc-4f8a-81f3-18d732d12551.jpg","title":"POOL ROOF TOP"},{"url":"https://pics.example.com/pics/pics1600x1200/example/0/0ee5fcad-20a6-4336-811a-e0c3198d6513.jpg","title":"POOL ROOF TOP"},{"url":"https://pics.example.com/pics/pics1600x1200/example/6/6b4ff2b5-9320-46b7-973d-9bb685920e37.jpg","title":"POOL ROOF TOP"},{"url":"https://pics.example.com/pics/pics1600x1200/example/9/92eef552-6ffd-4e75-828d-e0651620ccf5.jpg","title":"POOL ROOF TOP"},{"url":"https://pics.example.com/pics/pics1600x1200/example/6/6e35223b-1ee3-4b25-b9d5-232e52088f3b.jpg","title":"POOL ROOF TOP"},{"url":"https://pics.example.com/pics/pics1600x1200/example/6/69bbda2e-f3e4-4e9f-80e8-6173326c748c.jpg","title":"Pool"},{"url":"https://pics.example.com/pics/pics1600x1200/example/6/6028a718-96f8-43de-b20c-a3c17a37e6f5.jpg","title":"POOL ROOF TOP"},{"url":"https://pics.example.com/pics/pics1600x1200/example/f/f382cf15-2f69-46e7-af33-497e3f9d9c72.jpg","title":"POOL ROOF TOP"},{"url":"https://pics.example.com/pics/pics1600x1200/example/3/3430d458-5f6b-4513-a6cd-2d85770fa663.jpg","title":"Santa Rosa Grill"},{"url":"https://pics.example.com/pics/pics1600x1200/example/1/14c16080-992a-4a8f-b5d4-62d5e45f22f1.jpg","title":"ROOF TOP BAR"},{"url":"https://pics.example.com/pics/pics1600x1200/example/e/e5208f0c-1880-43d5-ba97-5aca2ddb4be2.jpg","title":"ROOF TOP BAR"},{"url":"https://pics.example.com/pics/pics1600x1200/example/1/18b68b07-b33d-4ff2-a103-f434eb62cc49.jpg","title":"ROOF TOP BAR"},{"url":"https://pics.example.com/pics/pics1600x1200/example/b/b2263932-5085-4591-81ca-d04660d5e951.jpg","title":"Areca"},{"url":"https://pics.example.com/pics/pics1600x1200/example/9/91da5532-9b03-4ecd-9177-007d8755bc11.jpg"}]}}}}
在终端中的命令结束时,是否可以将这些结果通过管道传输到其中,从而使输出格式只是提取的 URL 列表?例如
https://pics.example.com/pics/pics1600x1200/example/1/189e2083-b33f-492f-8ef4-41f61a2c7e56.jpg
https://pics.example.com/pics/pics1600x1200/example/f/fb74a1fb-b63b-4c2e-8a39-d4ecabf25276.jpg
https://pics.example.com/pics/pics1600x1200/example/d/decfc337-e0dc-4f8a-81f3-18d732d12551.jpg
https://pics.example.com/pics/pics1600x1200/example/9/92eef552-6ffd-4e75-828d-e0651620ccf5.jpg
解决方案
jq
,一个轻量级且灵活的命令行 JSON 处理器。
解决方案
<your-curl-command> | jq '.data.getByCode.details.images[].url' -r
# -r / --raw-output, used here to avoid quotation marks in the output
推荐阅读
- c# - 如何在 C# 中使用 File.WriteAllText 获取文件的完整路径?
- python - 如何将两个数据框与一列中的多个元素合并
- audio - 用于多个音频的 Web 音频 api 立体声平移器
- etl - 使用 matillion etl 中的窗口计算获取数量最多的前 3 个 ID
- powershell - PowerShell - 划分选择字符串输出的一部分
- matlab - 逆上三角矩阵算法
- android - RecyclerView 上的删除按钮删除了错误的项目
- javascript - 根据另一个变量在 Google Scripts 中设置一个变量
- bash - 我可以使用子命令运行 watch 吗?
- android - Not able to Align Material Toggle Button in Android