快捷搜索:   nginx

PHP数组转JSON 和JSON转PHP数组的方法(2)


object(stdClass)#1 (5) {

 

  ["a"] => int(1)

  ["b"] => int(2)

  ["c"] => int(3)

  ["d"] => int(4)

  ["e"] => int(5)

 

}

 

如果想要强制生成PHP关联数组,json_decode()需要加一个参数true:


$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

  

var_dump(json_decode($json,true));

 

结果就生成了一个关联数组:


array(5) {

 

   ["a"] => int(1)

   ["b"] => int(2)

   ["c"] => int(3)

   ["d"] => int(4)

   ["e"] => int(5)

 

}


五、json_decode()的常见错误


下面三种json写法都是错的,你能看出错在哪里吗?


$bad_json = "{ 'bar': 'baz' }";

 

$bad_json = '{ bar: "baz" }';

 

$bad_json = '{ "bar": "baz", }';

 对这三个字符串执行json_decode()都将返回null,并且报错。


第一个的错误是,json的分隔符(delimiter)只允许使用双引号,不能使用单引号。第二个的错误是,json名值对的"名"(冒号左边的部分),任何情况下都必须使用双引号。第三个的错误是,最后一个值之后不能添加逗号(trailing comma)。


另外,json只能用来表示对象(object)和数组(array),如果对一个字符串或数值使用json_decode(),将会返回null。


var_dump(json_decode("Hello World")); //null


顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论