php 中利用json_encode和json_decode传递包括特殊字符的数据

时间:2021-01-29 15:32:29
</pre><span style="font-size:24px"></span><pre name="code" class="php">

json_decode

mixed json_decode ( string $json [, bool $assoc = false [, int $depth = 512 [, int $options = 0 ]]] )

接受一个 JSON 格式的字符串而且把它转换为 PHP 变量

json_encode

string json_encode ( mixed $value [, int $options = 0 ] )

返回 value 值的 JSON 形式

比方interface_x 中须要获取interface_y 中传递的数据data,而data中含有特殊字符,就能够在interface_y中把这些特殊字符存入数组,然后json_encode成json

格式的字符串,传递给interface_x。在interface_x中进行json_decode。

$json2 = json_decode($json, true);
//echo "json2:";
//var_dump($json2);

interface_y中对包括特殊字符的字符串进行处理,存入数组。并进行json_encode:

$value = '~!@#$%^&*()_+-={}:";<>?

/\123456789123';
$data = array("key" => $value);
$json = json_encode($data);
//echo "json:" . "\n";
//var_dump($json);

在interface_x中对传入的json数据,进行json_decode成数组。

參考:

http://php.net/manual/zh/function.json-decode.php

http://php.net/manual/zh/function.json-encode.php