为什么json_decode()函数不起作用?

时间:2013-05-22 16:17:53

标签: php json

这是代码:

    $json = "{ a: 'hello', b: 'world' }";
    var_dump($json);
    var_dump(json_decode($json));

第一个输出:

{ a: 'hello', b: 'world' }

第二个没有输出。我希望第二个输出类似的东西:

array(
    'a' => 'hello',
    'b' => 'world'
)

怎么做?我的JSON格式错了吗?

4 个答案:

答案 0 :(得分:21)

JSON中的密钥必须为“-quoted:

{"a": "hello", "b": "world"}

另外,当你需要知道出了什么问题时,你可以使用php的json_last_error()。)。

答案 1 :(得分:8)

格式正确的JSON要求将键和字符串值括在双引号中。将其更改为:

$json = '{ "a": "hello", "b": "world" }';
var_dump($json);
var_dump(json_decode($json));

答案 2 :(得分:4)

这不合适JSON。您需要在属性名称和字符串值周围加上引号。

尝试

$json = '{ "a": "hello", "b": "world" }';

答案 3 :(得分:3)

因为那是无效的JSON。以下是适当的表格:

{"a":"hello","b":"world"}