php – x-www-form-urlencoded Vs json HTTP POST

前端之家收集整理的这篇文章主要介绍了php – x-www-form-urlencoded Vs json HTTP POST前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
很难决定,
目前我正在使用PHP lib curl将数据发送为x-www-form-urlencoded
curl_setopt($curl,CURLOPT_POSTFIELDS,http_build_query($this->arguments));

要么

curl_setopt($curl,$this->arguments);

第一个问题:第二个似乎是更大的内容长度,第一个解决方案可能更好?

对于平面消息,如:

{
    "name": "John","token": "2121232145","code": "7","data": "Hello"
}

但是我也可以有一个代表一个对象的数据字段,在这种情况下我是包围它,但这样做(url编码一个Json)是非常冗长和丑陋的消息,

另一方面,我尝试将其作为application / json content-type发送

curl_setopt($curl,json_encode($this->arguments));

内容长度对于小信息而言较大,但嵌入式json则显然更好

但是,x-www-form-urlencoded也接近我需要发送的表单数据,除非json被嵌入

根据内容类型,有两种不同的servlet解析方法不会很优雅,还有另一种选择?

Here你可以阅读类似的格式讨论.

If the structure of encoded data is guaranteed to be a flat list of
name-value pairs,x-www-form-urlencoded seems sufficient. If the
structure could be (arbitrarily) complex (e.g. nesting lists or
associative arrays),then definitely use JSON.

对我来说,我是KISS的擅长.在您的情况下,JSON / XML /无论是时间,内存和cpu周期的额外成本. x-www-form-urlencoded数据结合了可读性和紧凑性,所以我敢打赌这是你的选择.

猜你在找的PHP相关文章