搜索

首页  >  问答  >  正文

php中怎么讲json字符串转json对象


类似js中

msg = eval('(' + msg + ')');

的写法

目前知道php对字符串json 使用json_decode() 返回都是null,百度不到其他方法

代言代言2780 天前951

全部回复(2)我来回复

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-30 09:58:25

    <?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" }',属性和值要用双引号

    回复
    0
  • 世界只因有你

    世界只因有你2017-06-30 09:58:25

    用json_decode(),前提是json格式属性和值要用双引号,用python的话可以不用双引号

    回复
    0
  • 取消回复