1

这是代码:

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

第一个输出:

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

第二个什么也不输出。我希望第二个输出类似:

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

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

4

4 回答 4

21

JSON 中的键必须是 "-quoted :

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

json_last_error()此外,当您需要知道出了什么问题时,您可以使用 php :)。

于 2013-05-22T16:19:21.537 回答
8

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

$json = '{ "a": "hello", "b": "world" }';
var_dump($json);
var_dump(json_decode($json));
于 2013-05-22T16:20:01.357 回答
4

这不是正确的JSON。您需要在属性名称和字符串值周围加上引号。

尝试

$json = '{ "a": "hello", "b": "world" }';
于 2013-05-22T16:19:09.947 回答
3

因为那不是有效的 JSON。以下是适当的形式:

{"a":"hello","b":"world"}
于 2013-05-22T16:19:50.670 回答