编程

cURL将原生支持 JSON

1146 2022-01-23 03:57:50

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

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

在 REST APIs 等领域,发送 JSON 是十分普遍的做法

许多人被问及选择 cURL 替代方案的考虑因素时,“易于使用 JSON”是常见的一项

在 Stack Overflow 等网站上,相当多的人无法使用 cURL 发送正确的 JSON 和正确引用 JSON,因为 JSON 使用了双引号,而 Shell 不会在单引号内扩展变量

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

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

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

发送已格式化的 JSON 作为 -d 的快捷方式,并附带相匹配的 Accept header

通过构建 JSON request body 进行发送

--json -||@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