如何在PHP中解码包含数组和对象的json字符串?

时间:2013-09-12 08:27:32

标签: php arrays json object

我想在PHP中解码包含数组和对象的json字符串。当我用

解码时
$array = json_decode($json, true); 
print_r($array);

它返回NULL。让我知道,在PHP中解码json的方法。这是我的json字符串。


{
    success: 1,
    message: "Successful!",
    save_date: "2013-09-11 04:09:26",
    test: [
        {
        test_id: "1",
        test_date: "2013-09-12",
        test_name: "Test 1"
        },
        {
        test_id: "2",
        test_date: "2013-09-11",
        test_name: "Test 2"
        }
    ]
}

4 个答案:

答案 0 :(得分:0)

这不是有效的JSON对象。 JSON对象必须用双引号括起所有属性名称:

{ "success": 1, "message": "Successful!" }

PHP提供了方便的json_last_error_msg函数来告诉你。

还有用于验证JSON字符串的在线工具JSONLint

答案 1 :(得分:0)

您的JSON无效,属性名称也必须在引号中。

像这样:

{
    "success": 1,
    "message": "Successful!",
    "save_date": "2013-09-11 04:09:26",
    "test": []
}

提示:使用JSONLint验证您的JSON。

答案 2 :(得分:0)

您的json字符串应如下所示:

$sJson = '{"success": 1,"message": "Successful!","save_date": "2013-09-11 04:09:26",
           "test": [    {"test_id": "1","test_date": "2013-09-12","test_name": "Test 1"},
                {"test_id": "2","test_date": "2013-09-11","test_name": "Test 2"}]}';

答案 3 :(得分:-1)

使用此

   $result=(array)json_decode('your json string');

我认为这对你有用