You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用json_decode解析JSON数据返回NULL的原因排查

JSON解码返回NULL的原因及修复

你的JSON字符串存在多处格式错误,导致json_decode无法解析,返回NULL。具体问题如下:

  • 对象键名未加双引号:JSON规范要求所有对象的键必须用双引号包裹,比如原代码中的id:0不符合规范,必须写成"id":0。
  • 末尾语法错误:原JSON最后部分的] }] };存在多余的方括号和分号,正确的闭合应该是] }。
  • 数组元素后多余逗号:最后一个data对象后面的逗号(}, ])是无效的,JSON不允许数组最后一个元素后保留逗号。
  • PHP变量赋值错误:在PHP中,JSON字符串需要用引号包裹,原代码直接写$json = { ... };会导致语法错误,应该改为$json = '{ ... }';。

修正后的JSON代码

$json = '{
    "rows": [
        {
            "id": 0,
            "data": ["DLD224364", "13", "10.16.162.169", "4", "το ...", "2022-10-05 21:18:21"]
        },
        {
            "id": 1,
            "data": ["DLD22364", "13", "10.16.162.164", "4", "το ...", "2022-10-05 21:17:47"]
        },
        {
            "id": 2,
            "data": ["DLD224367", "67", "10.16.162.164", "4", "το ...", "2022-10-05 20:47:55"]
        },
        {
            "id": 3,
            "data": ["DLD224335", "22", "10.16.162.169", "4", "το ...", "2022-10-05 20:36:03"]
        },
        {
            "id": 4,
            "data": ["DLD224329", "38", ".162.169", "4", "το ...", "2022-10-05 20:26:55"]
        },
        {
            "id": 5,
            "data": ["DLD024285", "58", "", "4", "το ...", "2022-10-05 17:41:08"]
        }
    ]
}';

问题排查技巧

如果后续再遇到JSON解析失败的情况,可以用json_last_error_msg()获取具体错误信息,快速定位问题:

$result = json_decode($json, true);
if ($result === null) {
    echo json_last_error_msg();
}

内容的提问来源于stack exchange,提问作者Markos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 13:45:31