HP数组转JSON函数json_encode和JSON转数组json_decode函数的使用方法
2017-05-05 22:21
489 查看
这两个函数比较简单,我这里直接写例子,但是有一点一定要注意,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转换后:
得到如下结果:
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数据后得到一个对象,我们要怎么用它呢?
直接用
这样的形式访问,为什么这样访问,我们看下它的数据结构就知道了
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函数的使用方法
相关文章推荐
- PHP数组转JSON函数json_encode和JSON转数组json_decode函数的使用方法
- 函数指针与函数指针数组的使用方法
- php中json_decode()和json_encode()的使用方法
- json 的 使用方法以及与数组的区别
- php中json_decode()和json_encode()的使用方法
- 使用NSArray的扩展方法使数组中对象执行相同的函数
- php中json_decode()和json_encode()的使用方法
- 函数指针与函数指针数组的使用方法
- smarty模板引擎使用内建函数foreach循环取出所有数组值的方法
- [c++] 函数指针和函数指针数组的使用方法
- php中json_decode()和json_encode()的使用方法
- 用json_encode()函数对数组进行JSON编码。
- 实验7:巩固分支结构、循环结构、函数和数组的使用方法 三。
- smarty模板引擎使用内建函数foreach循环取出所有数组值的方法
- 将PHP数组赋值给JS通过php系统函数json_encode()来实现
- php中json_decode()和json_encode()的使用方法
- 实验7:巩固分支结构、循环结构、函数和数组的使用方法 四
- 记录一下PHP数组数据分页的方法 array_slice() 函数的使用
- php使用explode()函数将字符串拆分成数组的方法
- 使用Gson解析Json数组遇到的泛型类型擦除问题解决方法