繁体   English   中英

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

[英]How does JSON data get sent in an http request?

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


http://dev.mycompany.co/ping
{“ id”:4432,“名称”:“简·多伊”,“产品”:[{“ 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的工作示例,请参阅有关我提出的SO问题的答案。

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM