首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对API进行curl操作,并从JSON获取特定字段

对API进行curl操作,并从JSON获取特定字段
EN

Stack Overflow用户
提问于 2014-09-10 23:58:56
回答 3查看 18.8K关注 0票数 12

我正在做一个卷曲动作,如下所示

代码语言:javascript
复制
curl -X GET "https://api.mercadolibre.com/items/MLA511127356"

响应是一个JSON,比如下面这个:

代码语言:javascript
复制
"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,

有没有简单的方法可以做到这一点?

谢谢!

EN

回答 3

Stack Overflow用户

发布于 2016-09-26 19:41:06

通过使用jq,您可以解析json数据而不是基于文本的解析。

代码语言:javascript
复制
curl -X GET "https://api.mercadolibre.com/items/MLA511127356" | jq '.[].id'
票数 12
EN

Stack Overflow用户

发布于 2016-01-18 20:55:34

正如前面提到的here,您可以使用grep -Po '"keyThatYouWant":.*?[^\\]",' file.json。就像这样:

代码语言:javascript
复制
local result=$(curl -X GET $YOUR_HUGE_URL)
echo $result | grep -Po '"keyThatYouWant":.*?[^\\]",'
票数 10
EN

Stack Overflow用户

发布于 2018-09-04 21:10:00

jq给人留下了深刻的印象,但是如果你不想安装另一个依赖,使用python是一个很好的选择,因为如果需要进一步的处理,它还可以给你一些额外的灵活性。

它的目的是通过管道将json curl结果传递给python -c

示例:

代码语言:javascript
复制
curl -X GET https://jsonplaceholder.typicode.com/comments/4 | python -c "import sys,json; print json.load(sys.stdin)['email']"
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25769979

复制
相关文章

相似问题

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