gpt4 book ai didi

json - JSON 数据如何在 http 请求中发送?

转载 作者:行者123 更新时间:2023-12-02 17:28:06 24 4
gpt4 key购买 nike

假设我正在发出下面的 http 请求,以更新 mongoDB 数据库中的一些记录:

放置
http://dev.mycompany.co/ping
{"id":4432, "name":"Jane Doe", "products":[ {"id":287}, {"id":434} ] }

请注意,上面 JSON 的“products”属性中有一个包含两个对象的数组。我有通过 Fiddler 和我编写的 ruby​​ 脚本以这种通用格式发送的数据。

当通过 Fiddler 发送时,JSON 中的数据被正确解析并更新到我的数据库中。当通过我的 ruby​​ 脚本发送时,JSON 中的数据没有被正确解析。我一直在试图弄清楚这是为什么。现在,我想知道当 JSON 与 http 请求一起发送时,数据实际上是如何发送的。有人可以指出我正确的方向吗?

最佳答案

在问了几个关于 SO 的其他问题并做了更多研究之后,我得出了以下结论。

问:如何在 http 请求中发送 JSON 数据?

答:这取决于您在请求中发送 JSON 数据的方式(content-type 是什么)

我遇到过两种发送 JSON 数据的方式。

  1. 使用内容类型application/json发送

    使用这种内容类型,JSON 数据按原样发送。文字 JSON 数据存储为字符串并随请求一起发送。如果您的 JSON 很复杂,包含嵌套对象和数组等,这可能就是您想要的。有关使用 Ruby 的 Net/HTTP 发送嵌套 JSON 的工作示例,请参阅 this SO question I asked 上的答案。 .

  2. 使用内容类型 x-www-form-urlencoded 发送

    这就是 Ruby 的 Net/HTTP 请求通常的发送方式。这些请求的形式类似于:id=343?entity=Microsoft?foo=bar。在您拥有复杂的 JSON 之前,此内容类型很好。

关于json - JSON 数据如何在 http 请求中发送?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36877028/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com