扫盲 2026.10.10 21:19 26 次浏览 0 条评论

PHP json数据解析

PHP 处理 JSON 就两个函数,一个拆一个拼,记住就够用了。

json_decode 把接口给你的 JSON 字符串拆成 PHP 能用的数据。第二个参数写 true,出来是数组,取值方便;不写,出来是对象,得用箭头取。

$str = '{"name":"张三","age":18,"skill":["PHP","MySQL"]}';

// 第二个参数 true 转成数组
$arr = json_decode($str, true);
echo $arr['name'];        // 张三
echo $arr['skill'][0];    // PHP

// 不传 true 就是对象
$obj = json_decode($str);
echo $obj->age;          // 18

反过来把数组拼成 JSON 字符串用 json_encode,自己写接口返回数据就靠它。

$data = ['code' => 0, 'msg' => '成功', 'list' => ['a', 'b']];

// JSON_UNESCAPED_UNICODE 让中文原样输出,不然变成 \u5f20 这种
$json = json_encode($data, JSON_UNESCAPED_UNICODE);
echo $json;

踩过的坑:解析失败返回 null,用 json_last_error() 看错误码才知道为啥;JSON 里只能用双引号,手写的时候写成单引号必定挂;从接口拿到的字符串前后带 BOM 或者空格也会解析失败,先 trim 一下再拆。

说点什么 0

行思随记

欢迎来到:行思随记