很难决定,
目前我正在使用PHP lib curl将数据发送为x-www-form-urlencoded
目前我正在使用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被嵌入
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数据结合了可读性和紧凑性,所以我敢打赌这是你的选择.