求类似js中
msg = eval('(' + msg + ')');
的写法
目前知道php对字符串json 使用json_decode() 返回都是null,百度不到其他方法
<?php $json = '{"a":1,"b":2,"c":3,"d":4,"e":5}'; var_dump(json_decode($json)); var_dump(json_decode($json, true)); ?>
结果分别是
object(stdClass)#1 (5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) } array(5) { ["a"] => int(1) ["b"] => int(2) ["c"] => int(3) ["d"] => int(4) ["e"] => int(5) }
如果你json_decode后返回null,你是不是把字符串写成这样了"{ 'bar': 'baz' }",这个在JS里是可以正常解析成JSON的,但是PHP里面要写成'{ "bar": "baz" }',属性和值要用双引号
"{ 'bar': 'baz' }"
'{ "bar": "baz" }'
用json_decode(),前提是json格式属性和值要用双引号,用python的话可以不用双引号
结果分别是
如果你json_decode后返回null,你是不是把字符串写成这样了
"{ 'bar': 'baz' }"
,这个在JS里是可以正常解析成JSON的,但是PHP里面要写成'{ "bar": "baz" }'
,属性和值要用双引号用json_decode(),前提是json格式属性和值要用双引号,用python的话可以不用双引号