Php 解码具有特殊字符的URL参数

Php 解码具有特殊字符的URL参数,php,json,Php,Json,我有一个这样的URL,我想得到变量“json”的值,但我没有从“印地语:L&W第三首诗3次。Soc科学:L&W硬词5次”中得到值和参数。如何正确获取json的值 注意:我正在从应用程序端获取json的值,所以在将字符串转换为json字符串之前,我无法对其进行编码 http://localhost/abc/sendMsg.php?json={"studentId":"15","msg":"Hindi : L&W 3rd poem 3 times. Soc Science : L&W

我有一个这样的URL,我想得到变量“json”的值,但我没有从“印地语:L&W第三首诗3次。Soc科学:L&W硬词5次”中得到值和参数。如何正确获取json的值

注意:我正在从应用程序端获取json的值,所以在将字符串转换为json字符串之前,我无法对其进行编码

http://localhost/abc/sendMsg.php?json={"studentId":"15","msg":"Hindi : L&W 3rd poem 3 times. Soc Science : L&W hard words 5 times."}

据我所知,客户端浏览器中的应用程序生成JSON数组。在这种情况下,您应该尝试使用JSON.stringify

<script>
    url = "http://localhost/abc/sendMsg.php?json="+JSON.stringify(yourJSON);
</script>
请使用下面的代码

$str='[{"studentId":"15","msg":"Hindi : L&W 3rd poem 3 times. Soc Science : L&W hard words 5 times."}]';
print_r(json_decode($str));
输出

Array ( [0] => stdClass Object ( [studentId] => 15 [msg] => Hindi : L&W 3rd poem 3 times. Soc Science : L&W hard words 5 times. ) )

使用$\u Request[]获取后将其转换为数组

然后对每个循环使用以获得特定值

foreach ($json_array as $key => $value){
$hindi = $value->Hindi;
 echo $hindi;

}

base64_encode
string然后发送到
sendMsg.php
在那里你可以对其进行解码,我还需要“yourJSON”值如何获得它?首先,我的示例依赖于这样一个事实,即此代码是使用Javascript在客户端执行的。从我在其他评论中看到的情况来看,您也可能希望使用PHP从服务器端创建URL。哪一个是您需要帮助的场景?然后我们可以继续进行更多的解释。不,我不想从服务器端创建URL,因为“&”字符,我无法从该URL正确获取json变量值,所以您在Javascript函数中接收该URL?我只是想确定我们谈论的是什么语言。谢谢你@Marc Antoine我只是这么做的
foreach ($json_array as $key => $value){
$hindi = $value->Hindi;
 echo $hindi;