• 如何让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;

  • 相关阅读:
    数据结构问题总结
    基础dp问题总结
    搜索问题总结
    二分+贪心check问题总结
    基础图论问题总结
    数学问题总结
    匹配与网络流学习笔记(在学习中)
    我的第一篇题解
    python+Sqlite+Dataframe打造金融股票数据结构
    用Pandas Dataframe来抓取重构金融股票的各种业务&数据形态
  • 原文地址:https://www.cnblogs.com/bigclould/p/9523981.html
Copyright © 2020-2023  润新知