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

Php 是否将JSON字符串作为HTTP查询参数发送?,php,json,apache,http,Php,Json,Apache,Http,在我正在构建的项目的本地版本上,我发送了一个JSON字符串作为HTTP查询参数,并使用JSON\u decode()函数将该字符串解码回PHP数组 在本地,这工作正常(XAMPP),但是当我将这些文件上传到客户端服务器时,它们就不再工作了。我已将此诊断为一个问题,即在全局$\u GET数组中未拾取作为JSON字符串传递的参数,例如o=[{“b_id”:“1”,“p_ref_id”:“SHAY899”,“b_name”:“John Smith”}] 我认为编码/解码JSON所需的PHP版本可能不可

在我正在构建的项目的本地版本上,我发送了一个JSON字符串作为HTTP查询参数,并使用
JSON\u decode()
函数将该字符串解码回PHP数组

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

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

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

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

使用:

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

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

将字符串解码回PHP数组。

如果它是一个很长的URL,则可能会遇到某种限制。此外,出于安全原因,许多web服务(和框架)阻止URL上的某些字符,例如防御XSS攻击。奇怪的是,你没有收到任何类型的HTTP错误。在将JSON字符串作为查询字符串参数之前,你是否对其进行URL编码?@MikeChristensen你会说多长时间是一个真正的长URL/在基本配置(无框架)PHP上该限制设置在哪里,Apache或其他地方?我以前见过1024个字符作为默认HTTP GET限制。但我不知道在Apache中设置在哪里。。