PHP json_decode在解析json时显示null


PHP json_decode showing null while parsing JSON

我正在尝试解析JSON数据,但当json_decode()时,var_dump()将值显示为null。以下是我的程序:

<?php
$json='_variable_1461092903017=[ {
    message:"success",
    data1:{
        datalist:[
                    {field1:"value1",field2:"value2"} ,
                    {field1:"value1",field2:"value2"} ,
                    {field1:"value1",field2:"value2"}
        ]
    },
    data2:[ {
        Date:"20 Apr 2016",
        details:[
                    {Code:"123",name:"xyz"},
                    {Code:"456",name:"abc"},
                ],
        }, 
        {
        Date:"21 Apr 2016",
        details:[
                    {Code:"123",name:"xyz"},
                    {Code:"456",name:"abc"},
                ],
        }, 
        {
        Date:"22 Apr 2016",
        details:[
                    {Code:"123",name:"xyz"},
                    {Code:"456",name:"abc"},
                ],
        }
    ]}
]';
$json_data = json_decode($json);
var_dump($json_data);
?>

就像其他人说的那样,这是无效的JSON
您可以使用JSON Linter进行调试http://jsonlint.com

一个很酷的有效JSON铁路图:
http://www.json.org

这应该是你想要的(我没有执行):

<?php
$json='[{
    "message" :"success",
    "data1":{
        "datalist" :[
                    { "field1":"value1","field2":"value2"},
                    {"field1":"value1","field2":"value2"},
                    {"field1":"value1","field2":"value2"}
        ]
    },
    "data2":[ {
        "Date":"20 Apr 2016",
        "details":[
                    {"Code":"123","name":"xyz"},
                    {"Code":"456","name":"abc"}
                ]
        }, 
        {
        "Date":"21 Apr 2016",
        "details":[
                    {"Code":"123","name":"xyz"},
                    {"Code":"456","name":"abc"}
                ]
        }, 
        {
        "Date":"22 Apr 2016",
        "details":[
                    {"Code":"123","name":"xyz"},
                    {"Code":"456","name":"abc"}
                ]
        }
    ]}
]';
$json_data = json_decode($json);
var_dump($json_data);

JSON:中的错误

你需要双重报价你的钥匙:

{
    "key": "value"
}

不是:

{
    key: "value"
}

在关闭数组括号]之后,您将添加一个,

应该是这样的:

{
    "datalist": [ "blah", "blah"]
}

不是:

{
    "datalist": [ "blah", "blah"],
}

数组中的最后一个元素后面不应该有逗号:

{
   "datalist": [{"key1":"value1", {"key2": "value2"}]
}

不是:

{
   "datalist": [{"key1":"value1", {"key2": "value2"},]
}