php中操作json格式数据转换实现代码
本文章主要是介绍了在php中操作json格式数据转换程序,我们利用了json_decode()和json_encode()这两个函数来进行操作方便很多.
第一步我们利用json_encode()函数把数据转换成json数据,代码如下:
- <?php
- //php中用数组表示JSON格式数据
- $arr = array(
- 'firstname' => iconv('gb2312', 'utf-8', '非诚'),
- 'lastname' => iconv('gb2312', 'utf-8', '勿扰'),
- 'contact' => array(
- 'email' =>'fcwr@phpfensi.com',
- 'website' =>'http://www.phpfensi.com',
- )
- );
- //将数组编码成JSON数据格式
- $json_string = json_encode($arr);
- //JSON格式数据可直接输出
- echo $json_string;
- ?>
此转换函数只支持utf-8格式的如果中间有中文可以利用iconv或者mb转为UTF-8再进行json_encode,这样就不会有任何问题。
第二步,对数据进行解析我们也用一个php json处理函数json_decode()了,代码如下:
- <?php
- //php中用数组表示JSON格式数据
- $arr = array(
- 'firstname' => iconv('gb2312', 'utf-8', '非诚'),
- 'lastname' => iconv('gb2312', 'utf-8', '勿扰'),
- 'contact' => array(
- 'email' =>'fcwr@phpfensi.com',
- 'website' =>'http://www.phpfensi.com',
- )
- );
- //将数组编码成JSON数据格式
- $json_string = json_encode($arr);
- //将JSON格式数据进行解码,解码后不是JSON数据格式,不可用echo直接输出
- $obj = json_decode($json_string);
- //强制转化为数组格式
- $arr = (array) $obj;
- //按数组方式调用里面的数据
- echo iconv('utf-8','gb2312',$arr['firstname']);
- echo '</br>';
- //输出数组结构
- print_r($arr);
- ?>
好了实例就讲到了这里了