Home > Backend Development > PHP Tutorial > 怎么会有错呢,简单的json读取

怎么会有错呢,简单的json读取

WBOY
Release: 2016-06-23 13:47:20
Original
1048 people have browsed it


$pingluninfo =  {
    "title":"123",
    "url":"http://localhost/?p=9",
    "ttime":1401327899094,
    "sourceid":"9",
    "parentid":"0",
    "categoryid":"",
    "ownerid":"",
    "metadata":"",
    "comments":[
        {
            "cmtid":"358",
            "ctime":1401327899094,
            "content":"2013年8月1日18:36:29 O(∩_∩)O~",
            "replyid":"0",
            "user":{
                "userid":"1",
                "nickname":"admin",
                "usericon":"",
                "userurl":"",
                "usermetadata":{
                    "area": "北京市",
                    "gender": "1",
                    "kk": "",
                    "level": 1
                }
            },
            "ip":"127.0.0.1",
            "useragent":"Mozilla/5.0 (Windows NT 6.1; rv:22.0) Gecko/20100101 Firefox/22.0",
            "channeltype":"1",
            "from":"",
            "spcount":"",
            "opcount":"",
            "attachment":[
                {
                    "type":1,
                    "desc":"",
                    "url":"http://img.sohu.itc/xxxx"
                }
            ]
        }
    ]
}
EOT;

$pingluninfo = json_decode($pingluninfo, true);
if(!$pingluninfo) {
die('错误的数据格式');
}
?>
总是输出 错误的数据格式


回复讨论(解决方案)

看着json 不对劲。
中文在json_encode 后不是这样的吧

<?php $pingluninfo = <<<EOT{    "title":"123",    "url":"http://localhost/?p=9",    "ttime":1401327899094,    "sourceid":"9",    "parentid":"0",    "categoryid":"",    "ownerid":"",    "metadata":"",    "comments":[        {            "cmtid":"358",            "ctime":1401327899094,            "content":"2013年8月1日18:36:29 O(∩_∩)O~",            "replyid":"0",            "user":{                "userid":"1",                "nickname":"admin",                "usericon":"",                "userurl":"",                "usermetadata":{                    "area": "北京市",                    "gender": "1",                    "kk": "",                    "level": 1                }            },            "ip":"127.0.0.1",            "useragent":"Mozilla/5.0 (Windows NT 6.1; rv:22.0) Gecko/20100101 Firefox/22.0",            "channeltype":"1",            "from":"",            "spcount":"",            "opcount":"",            "attachment":[                {                    "type":1,                    "desc":"",                    "url":"http://img.sohu.itc/xxxx"                }            ]        }    ]}EOT;$pingluninfo = json_decode($pingluninfo, true);if(!$pingluninfo) {    die('错误的数据格式');}echo "<pre class="brush:php;toolbar:false">";print_r($pingluninfo);echo "
Copy after login
Copy after login
";

输出:
Array(    [title] => 123    [url] => http://localhost/?p=9    [ttime] => 1401327899094    [sourceid] => 9    [parentid] => 0    [categoryid] =>     [ownerid] =>     [metadata] =>     [comments] => Array        (            [0] => Array                (                    [cmtid] => 358                    [ctime] => 1401327899094                    [content] => 2013年8月1日18:36:29 O(∩_∩)O~                    [replyid] => 0                    [user] => Array                        (                            [userid] => 1                            [nickname] => admin                            [usericon] =>                             [userurl] =>                             [usermetadata] => Array                                (                                    [area] => 北京市                                    [gender] => 1                                    [kk] =>                                     [level] => 1                                )                        )                    [ip] => 127.0.0.1                    [useragent] => Mozilla/5.0 (Windows NT 6.1; rv:22.0) Gecko/20100101 Firefox/22.0                    [channeltype] => 1                    [from] =>                     [spcount] =>                     [opcount] =>                     [attachment] => Array                        (                            [0] => Array                                (                                    [type] => 1                                    [desc] =>                                     [url] => http://img.sohu.itc/xxxx                                )                        )                )        ))
Copy after login
Copy after login


测试无误

请把引号补齐!
"ttime":1401327899094, 应为 "ttime":"1401327899094",
其他类同

echo '<meta http-equiv="content-type" content="text/html;charset=utf-8">';$pingluninfo = <<<EOT{    "title":"123",    "url":"http://localhost/?p=9",    "ttime":1401327899094,    "sourceid":"9",    "parentid":"0",    "categoryid":"",    "ownerid":"",    "metadata":"",    "comments":[        {            "cmtid":"358",            "ctime":1401327899094,            "content":"2013年8月1日18:36:29 O(∩_∩)O~",            "replyid":"0",            "user":{                "userid":"1",                "nickname":"admin",                "usericon":"",                "userurl":"",                "usermetadata":{                    "area": "北京市",                    "gender": "1",                    "kk": "",                    "level": 1                }            },            "ip":"127.0.0.1",            "useragent":"Mozilla/5.0 (Windows NT 6.1; rv:22.0) Gecko/20100101 Firefox/22.0",            "channeltype":"1",            "from":"",            "spcount":"",            "opcount":"",            "attachment":[                {                    "type":1,                    "desc":"",                    "url":"http://img.sohu.itc/xxxx"                }            ]        }    ]}EOT;$pingluninfo = json_decode($pingluninfo, true);if(!$pingluninfo) {    die('错误的数据格式');}else{    print_r($pingluninfo);}
Copy after login
Copy after login

测试过,很正常。
(    [title] => 123    [url] => http://localhost/?p=9    [ttime] => 1401327899094    [sourceid] => 9    [parentid] => 0    [categoryid] =>     [ownerid] =>     [metadata] =>     [comments] => Array        (            [0] => Array                (                    [cmtid] => 358                    [ctime] => 1401327899094                    [content] => 2013年8月1日18:36:29 O(∩_∩)O~                    [replyid] => 0                    [user] => Array                        (                            [userid] => 1                            [nickname] => admin                            [usericon] =>                             [userurl] =>                             [usermetadata] => Array                                (                                    [area] => 北京市                                    [gender] => 1                                    [kk] =>                                     [level] => 1                                )                        )                    [ip] => 127.0.0.1                    [useragent] => Mozilla/5.0 (Windows NT 6.1; rv:22.0) Gecko/20100101 Firefox/22.0                    [channeltype] => 1                    [from] =>                     [spcount] =>                     [opcount] =>                     [attachment] => Array                        (                            [0] => Array                                (                                    [type] => 1                                    [desc] =>                                     [url] => http://img.sohu.itc/xxxx                                )                        )                )        ))
Copy after login
Copy after login

你那是新版的吧!估计 数值型 超出最大了

你那是新版的吧!估计 数值型 超出最大了




新版的?怎么讲?

我把上面说测试正常的代码复制到我那里,就是提示数据错误。
看来真是环境问题啊

我把上面说测试正常的代码复制到我那里,就是提示数据错误。
看来真是环境问题啊

echo '<meta http-equiv="content-type" content="text/html;charset=utf-8">';$pingluninfo = <<<EOT{    "title":"123",    "url":"http://localhost/?p=9",    "ttime":1401327899094,    "sourceid":"9",    "parentid":"0",    "categoryid":"",    "ownerid":"",    "metadata":"",    "comments":[        {            "cmtid":"358",            "ctime":1401327899094,            "content":"2013年8月1日18:36:29 O(∩_∩)O~",            "replyid":"0",            "user":{                "userid":"1",                "nickname":"admin",                "usericon":"",                "userurl":"",                "usermetadata":{                    "area": "北京市",                    "gender": "1",                    "kk": "",                    "level": 1                }            },            "ip":"127.0.0.1",            "useragent":"Mozilla/5.0 (Windows NT 6.1; rv:22.0) Gecko/20100101 Firefox/22.0",            "channeltype":"1",            "from":"",            "spcount":"",            "opcount":"",            "attachment":[                {                    "type":1,                    "desc":"",                    "url":"http://img.sohu.itc/xxxx"                }            ]        }    ]}EOT;$pingluninfo = json_decode($pingluninfo, true);if(!$pingluninfo) {    die('错误的数据格式');}else{    print_r($pingluninfo);}
Copy after login
Copy after login

测试过,很正常。
(    [title] => 123    [url] => http://localhost/?p=9    [ttime] => 1401327899094    [sourceid] => 9    [parentid] => 0    [categoryid] =>     [ownerid] =>     [metadata] =>     [comments] => Array        (            [0] => Array                (                    [cmtid] => 358                    [ctime] => 1401327899094                    [content] => 2013年8月1日18:36:29 O(∩_∩)O~                    [replyid] => 0                    [user] => Array                        (                            [userid] => 1                            [nickname] => admin                            [usericon] =>                             [userurl] =>                             [usermetadata] => Array                                (                                    [area] => 北京市                                    [gender] => 1                                    [kk] =>                                     [level] => 1                                )                        )                    [ip] => 127.0.0.1                    [useragent] => Mozilla/5.0 (Windows NT 6.1; rv:22.0) Gecko/20100101 Firefox/22.0                    [channeltype] => 1                    [from] =>                     [spcount] =>                     [opcount] =>                     [attachment] => Array                        (                            [0] => Array                                (                                    [type] => 1                                    [desc] =>                                     [url] => http://img.sohu.itc/xxxx                                )                        )                )        ))
Copy after login
Copy after login

我把上面说测试正常的代码复制到我那里,就是提示数据错误。
看来真是环境问题啊

<?php $pingluninfo = <<<EOT{    "title":"123",    "url":"http://localhost/?p=9",    "ttime":1401327899094,    "sourceid":"9",    "parentid":"0",    "categoryid":"",    "ownerid":"",    "metadata":"",    "comments":[        {            "cmtid":"358",            "ctime":1401327899094,            "content":"2013年8月1日18:36:29 O(∩_∩)O~",            "replyid":"0",            "user":{                "userid":"1",                "nickname":"admin",                "usericon":"",                "userurl":"",                "usermetadata":{                    "area": "北京市",                    "gender": "1",                    "kk": "",                    "level": 1                }            },            "ip":"127.0.0.1",            "useragent":"Mozilla/5.0 (Windows NT 6.1; rv:22.0) Gecko/20100101 Firefox/22.0",            "channeltype":"1",            "from":"",            "spcount":"",            "opcount":"",            "attachment":[                {                    "type":1,                    "desc":"",                    "url":"http://img.sohu.itc/xxxx"                }            ]        }    ]}EOT;$pingluninfo = json_decode($pingluninfo, true);if(!$pingluninfo) {    die('错误的数据格式');}echo "<pre class="brush:php;toolbar:false">";print_r($pingluninfo);echo "
Copy after login
Copy after login
";

输出:
Array(    [title] => 123    [url] => http://localhost/?p=9    [ttime] => 1401327899094    [sourceid] => 9    [parentid] => 0    [categoryid] =>     [ownerid] =>     [metadata] =>     [comments] => Array        (            [0] => Array                (                    [cmtid] => 358                    [ctime] => 1401327899094                    [content] => 2013年8月1日18:36:29 O(∩_∩)O~                    [replyid] => 0                    [user] => Array                        (                            [userid] => 1                            [nickname] => admin                            [usericon] =>                             [userurl] =>                             [usermetadata] => Array                                (                                    [area] => 北京市                                    [gender] => 1                                    [kk] =>                                     [level] => 1                                )                        )                    [ip] => 127.0.0.1                    [useragent] => Mozilla/5.0 (Windows NT 6.1; rv:22.0) Gecko/20100101 Firefox/22.0                    [channeltype] => 1                    [from] =>                     [spcount] =>                     [opcount] =>                     [attachment] => Array                        (                            [0] => Array                                (                                    [type] => 1                                    [desc] =>                                     [url] => http://img.sohu.itc/xxxx                                )                        )                )        ))
Copy after login
Copy after login


测试无误

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template