3ff*_*fff 5 shell parsing json curl http
我正在卷曲如下
curl -X GET "https://api.mercadolibre.com/items/MLA511127356"
Run Code Online (Sandbox Code Playgroud)
响应是一个JSON,例如以下代码:
"id": "MLA511127356",
"site_id": "MLA",
"title": "Item De Testeo, Por Favor No Ofertar --kc:off",
"subtitle": null,
"seller_id": "160252486",
"category_id": "MLA4967",
"official_store_id": null,
"price": 10,
"base_price": 10,
"original_price": null,
"currency_id": "ARS",
"initial_quantity": 16,
Run Code Online (Sandbox Code Playgroud)
有没有简单的方法可以做到这一点?
谢谢!
Rhu*_*lus 10
正如这里提到的,您可以使用grep -Po '"keyThatYouWant":.*?[^\\]",' file.json. 像那样:
local result=$(curl -X GET $YOUR_HUGE_URL)
echo $result | grep -Po '"keyThatYouWant":.*?[^\\]",'
Run Code Online (Sandbox Code Playgroud)
小智 6
jq非常令人印象深刻,但如果您不想安装另一个依赖项,则使用 python 是一个不错的选择,如果需要进一步处理,它还可以为您提供一些额外的灵活性。
它的主要内容是将 json curl 结果通过管道传输到python -c.
例子:
curl -X GET https://jsonplaceholder.typicode.com/comments/4 | python -c "import sys,json; print json.load(sys.stdin)['email']"
Run Code Online (Sandbox Code Playgroud)
通过使用jq,您可以解析json数据,而不是基于文本的解析。
curl -X GET "https://api.mercadolibre.com/items/MLA511127356" | jq '.[].id'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9677 次 |
| 最近记录: |