zoukankan      html  css  js  c++  java
  • 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函数的使用方法

  • 相关阅读:
    清理CentOS 7系统 journal日志
    漏洞修复:CVE-2018-18311 Perl_my_setenv()中的整数溢出导致缓冲区溢出
    content-script 发送消息给background : runtime.lastError: The message port closed before a response was received.
    SEO:适应百度的页面配置
    我的 .npmrc 配置
    Cordova + Vue 环境搭建
    发布一个PHP包到Packagist, 然后使用Composer安装
    vue3 问题记录
    问题记录
    小程序
  • 原文地址:https://www.cnblogs.com/jianqingwang/p/6815156.html
Copyright © 2011-2022 走看看