PHP解析json、xml错误

本文涉及的产品
云解析 DNS,旗舰版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
全局流量管理 GTM,标准版 1个月
简介: php内置函数json_decode() 可以解析json字符串 但是有的时候看起来正确的json,解析却一直返回null。 你知道吗,json是可能解析失败的,此时PHP不会产生提示。 我们需要手动通过json_last_error()函数获取

解析json


php内置函数json_decode() 可以解析json字符串 但是有的时候看起来正确的json,解析却一直返回null。 你知道吗,json是可能解析失败的,此时PHP不会产生提示。 我们需要手动通过json_last_error()函数获取


function json_decode_siam($string, $mark = false){
    $data = json_decode($string, $mark);
    switch (json_last_error()) {
        case JSON_ERROR_NONE:
            return $data;
            break;
        case JSON_ERROR_DEPTH:
            echo ' - 已超出最大堆栈深度';
            break;
        case JSON_ERROR_STATE_MISMATCH:
            echo ' - JSON无效或格式错误  状态不匹配';
            break;
        case JSON_ERROR_CTRL_CHAR:
            echo ' - 发现意外的控制字符 可能编码错误';
            break;
        case JSON_ERROR_SYNTAX:
            echo ' - 错误符号,json格式错误';
            break;
        case JSON_ERROR_UTF8:
            echo ' - 格式错误的UTF-8字符,可能是错误编码的';
            break;
        default:
            echo ' - Unknown error';
            break;
    }
}


解析xml


php中,解析xml有好几种方式,主要是依赖不同的扩展环境。 这里就说说我自己常使用的这种方式吧


simplexml_load_string();
simplexml_load_file();


可以通过字符串或者文件,加载然后解析,返回Simplexml对象 在该方式中,如果xml格式错误,则会直接产生报错


$str = "不是xml字符串";
$data = simplexml_load_string($str);
var_dump($data);


得到


bool(false)
PHP Warning:  simplexml_load_string(): Entity: line 1: parser error : Start tag expected, '<' not found in /usercode/file.php on line 4
PHP Warning:  simplexml_load_string(): 不是xml字符串 in /usercode/file.php on line 4
PHP Warning:  simplexml_load_string(): ^ in /usercode/file.php on line 4


这是PHP错误,而非异常,所以也不能使用try{}catch(){) 处理 以后可能会完善这部分的知识(主要是前辈们的文章写过好多了)

目录
相关文章
|
XML PHP 数据格式
【PHP】xml转为数组
【PHP】xml转为数组
139 0
|
XML PHP 数据格式
|
XML PHP 数据格式
PHP XML和数组互相转换
转换代码如下 //数组转XML function arrayToXml($arr) { $xml = ""; foreach ($arr as $key=>$val) { if (is_numeric($val)){ $xml.
1059 0
|
XML PHP 数据格式
|
XML 移动开发 PHP
|
XML JSON PHP
PHP快速入门08-JSON与XML处理
PHP快速入门与实战JSON与XML都是用于在不同的应用程序之间传输数据的格式化语言。在PHP中,可以使用内置函数处理JSON和XML格式的数据。以上就是关于本篇文章介绍的内容,JSON与XML处理,后续更多内容将收录在专栏PHP快速入门与实战。
118 0
x3d
|
XML SQL PHP
【转】php中XML、XSLT的结合运用
原文:http://blog.csdn.net/bjbs_270/article/details/140253   下面我要讲的是一个简单的从数据库中抽取数据,生成XML文档,使用XSLT转换成HTML的过程, 该过程只讲使用这一技术的过程,不会涉及分页等其它的技术 该示例我使用下面的数据库表及...
x3d
973 0