zoukankan      html  css  js  c++  java
  • 如何让json_decode解码变的更加强壮

    $ret_array = json_decode($ret_json, true);//这里是对json进行解码

    if(json_last_error() !== JSON_ERROR_NONE) {
        throw new Exception('房贷系统,响应数据格式不正确');
    }

    如果有,返回 JSON 编码解码时最后发生的错误。该函数没有参数

     

    *json_last_error()的返回值为常数:

    常量

    含义

    可用性

    JSON_ERROR_NONE

    没有错误发生

     

    JSON_ERROR_DEPTH

    到达了最大堆栈深度

     

    JSON_ERROR_STATE_MISMATCH

    无效或异常的 JSON

     

    JSON_ERROR_CTRL_CHAR

    控制字符错误,可能是编码不对

     

    JSON_ERROR_SYNTAX

    语法错误

     

    JSON_ERROR_UTF8

    异常的 UTF-8 字符,也许是因为不正确的编码。

    PHP 5.3.3

    JSON_ERROR_RECURSION

    One or more recursive references in the value to be encoded

    PHP 5.5.0

    JSON_ERROR_INF_OR_NAN

    One or more NAN or INF values in the value to be encoded

    PHP 5.5.0

    JSON_ERROR_UNSUPPORTED_TYPE

    指定的类型,值无法编码。

    PHP 5.5.0

    JSON_ERROR_INVALID_PROPERTY_NAME

    指定的属性名无法编码。

    PHP 7.0.0

    JSON_ERROR_UTF16

    畸形的 UTF-16 字符,可能因为字符编码不正确。

    PHP 7.0.0

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

    $data='[{"Name":"a1","Number":"123","Contno":"000","QQNo":""},{"Name":"a1","Number":"123","Contno":"000","QQNo":""},{"Name":"a1","Number":"123","Contno":"000","QQNo":""}]'

    //上面是单组元素,下面是多组,就像数组一样 可以是$data = [{},{}];也可以$data[]=‘{}’这样一个一个添加

    //改造json是这样的外面是单引号,里面的值都是双引号,

    $array = json_decode($json, true);

    if(json_last_error() !== JSON_ERROR_NONE){

            echo '发生错误';exit;   

    }

    echo '没有发生错误';var_dump($array);exit;

  • 相关阅读:
    线程
    VS调试Tip集结
    努力提高代码的质量
    深入Razor,你准备好了吗?(兼谈我的学习方法和定位)
    使用匿名委托,Lambda简化多线程代码
    敏捷个人-自我成长[关注个人成长软技能]
    使用ActiveRecord的三层构架及泛型例子
    RUP4+1架构方法
    信息系统字段动态定义 和 JavaScript 实用脚本,很好,珍藏起来[转贴]
    CRM2011
  • 原文地址:https://www.cnblogs.com/bigclould/p/9523981.html
Copyright © 2011-2022 走看看