4

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

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

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

如果没有,任何其他帮助将不胜感激!

4

2 回答 2

5

利用:

$string = urlencode(json_encode($array));

并使用

$array = urldecode(json_decode($string));

将字符串解码回 PHP 数组。

于 2013-06-05T20:02:25.630 回答
3

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

于 2013-06-05T17:37:40.627 回答