cURL 将原生支持 JSON

来源: OSCHINA
编辑: 局长
2022-01-22 08:49:00

cURL 作者 Daniel Stenberg 在邮件透露了为 cURL 添加原生支持 JSON 的计划。

Daniel 解释了为 cURL 添加原生支持 JSON 的理由:

  1. 在 REST APIs 等领域,发送 JSON 是十分普遍的做法
  2. 许多人被问及选择 cURL 替代方案的考虑因素时,“易于使用 JSON”是常见的一项
  3. 在 Stack Overflow 等网站上,相当多的人无法使用 cURL 发送正确的 JSON 和正确引用 JSON,因为 JSON 使用了双引号,而 Shell 不会在单引号内扩展变量

Daniel 还表示,由于自己不经常发送 JSON,所以完全靠他来设计这个功能并不合适。他需要其他人的帮助,让这个功能尽可能地有用。

目前 Daniel 已在 wiki 中提供了关于此功能的草案,同时创建了讨论区

简单来说,Daniel 计划增加两个命令行选项:

  1. 发送已格式化的 JSON 作为 -d 的快捷方式,并附带相匹配的 Accept header
  2. 通过构建 JSON request body 进行发送

--json -|<data>|@filename

curl --json [whatever] http://example.com

上述命令行是一种快捷方式,其作用等同于 -d [whatever] -H "Content-Type: application/json"

--jp [part]

('jp' 是 "JSON part" 的缩写)

构建 JSON request body,然后使用 request headerContent-Type: application/json发送 JSON。

[part] 是构建 JSON 内容的指令。

(Syntax inspired by jo)

详情查看:https://github.com/curl/curl/wiki/JSON

展开阅读全文
精彩评论
目前都是用jq辅助的. 这个--jp确实方便不少.
curl --jp a=b --jp list[]=13 --jp list[]=17 --jp map[k]=123 --jp map[3]=32
2022-01-22 10:16
3
举报
7 收藏
分享
3 评论
7 收藏
分享
返回顶部
顶部
返回顶部
顶部