将JSON字符串作为HTTP查询参数发送?

时间:2013-06-05 17:18:29

标签: php json apache http

在我正在构建的项目的本地版本上,我一直在发送一个JSON字符串作为HTTP查询参数,并使用json_decode()函数将字符串解码回PHP数组。 / p>

在本地,这工作正常(XAMPP)但是当我将这些文件上传到我的客户端服务器时,它们不再起作用。我已经将此诊断为一个问题,其中传递JSON字符串的参数为例如全局o=[{"b_id":"1","p_ref_id":"SHAY899","b_name":"John Smith"}]数组中未提取$_GET

我想也许编码/解码JSON所需的PHP版本不可用,但是我在这个项目的其他部分使用了json_encode(),所以这不是问题。我想知道它是否是一个最大字符长度问题,如果是这样我将如何解决它(或者至少我会从哪里开始)?

如果没有,任何其他帮助将非常感谢!!

2 个答案:

答案 0 :(得分:3)

而不是使用JSON使用http_build_query()。它已经进行了URL编码,如果这是问题,它可能会为您节省一些空间。它还处理多维数组。

答案 1 :(得分:3)

使用:

urlencode(json_encode($string));

并使用 urldecode(json_decode($ _ GET ['string']))将字符串解码回PHP数组。