• HP数组转JSON函数json_encode和JSON转数组json_decode函数的使用方法


    这两个函数比较简单,我这里直接写例子,但是有一点一定要注意,json数据只支持utf-8格式,GBK格式的数据转换为json会报错!

    json_encode()用法:

    <?php
    $data =array(
    ‘name’=>’jianqingwang’,
    ‘sex’=>’man’,
    ‘title’=>’PHPER’,
    ‘location’=>’XiaMen’
    );

    $new_data =json_encode($data);

    var_dump($data);
    echo “<br><br>”;
    var_dump($new_data);

    得到的数据:

    array(4) { [“name”]=> string(12) “jianqingwang” [“sex”]=> string(3) “man” [“title”]=> string(5) “PHPER” [“location”]=> string(6) “XiaMen” }

    string(71) “{“name”:”jianqingwang”,”sex”:”man”,”title”:”PHPER”,”location”:”XiaMen”}”

    json_decode()函数用来把json数组转换为数组的,用法如下:

    json的数据为:{“status”:1,”data”:{“prefix”:134,”province”:”北京”,”city”:”北京”,”isp”:”移动”,”code”:10,”zipcode”:100000,”types”:”中国移动 GSM”,”mobile”:”13488888888″},”message”:”success”}

    用json_decode转换后:

    <?php
    $data =file_get_contents('http://sj.apidata.cn/?mobile=13488888888');//获取接口的json数据
    $new_data =json_decode($data);
    var_dump($new_data);

    得到如下结果:

    object(stdClass)#1 (3) { [“status”]=> int(1) [“data”]=> object(stdClass)#2 (8) { [“prefix”]=> int(134) [“province”]=> string(6) “北京” [“city”]=> string(6) “北京” [“isp”]=> string(6) “移动” [“code”]=> int(10) [“zipcode”]=> int(100000) [“types”]=> string(16) “中国移动 GSM” [“mobile”]=> string(11) “13488888888” } [“message”]=> string(7) “success” }

    很显然,我们转换json数据后得到一个对象,我们要怎么用它呢?

    直接用

    $new_data->data->isp//移动
    $new_data->data->province//省份

    这样的形式访问,为什么这样访问,我们看下它的数据结构就知道了

    博客原文:数组转JSON函数json_encode和JSON转数组json_decode函数的使用方法

  • 相关阅读:
    linux 日常命令
    apache2 修改默认php版本
    centos 6.5 创建守护进程
    ubuntu18.04 Yii2.0 安装yii2-queue并在Linux启动守护进程监听消息设置
    Ubuntu18.04 使用 deepinwine 安装企业微信后无法查看图片/头像/登陆二维码的解决方法
    CentOS 8安装Redis的两种方式
    如何在ubuntu 18.04中升级python 3.6到3.7
    Navicat 15 premium AppImage格式激活
    爬取彼岸图网实例
    requests库的介绍及get请求 + 小案例
  • 原文地址:https://www.cnblogs.com/jianqingwang/p/6815156.html
Copyright © 2020-2023  润新知