php中操作json格式数据转换实现代码

本文章主要是介绍了在php中操作json格式数据转换程序,我们利用了json_decode()和json_encode()这两个函数来进行操作方便很多.

第一步我们利用json_encode()函数把数据转换成json数据,代码如下:

  1. <?php
  2. //php中用数组表示JSON格式数据
  3. $arr = array(
  4. 'firstname' => iconv('gb2312', 'utf-8', '非诚'),
  5. 'lastname' => iconv('gb2312', 'utf-8', '勿扰'),
  6. 'contact' => array(
  7. 'email' =>'fcwr@phpfensi.com',
  8. 'website' =>'http://www.phpfensi.com',
  9. )
  10. );
  11. //将数组编码成JSON数据格式
  12. $json_string = json_encode($arr);
  13. //JSON格式数据可直接输出
  14. echo $json_string;
  15. ?>

此转换函数只支持utf-8格式的如果中间有中文可以利用iconv或者mb转为UTF-8再进行json_encode,这样就不会有任何问题。

第二步,对数据进行解析我们也用一个php json处理函数json_decode()了,代码如下:

  1. <?php
  2. //php中用数组表示JSON格式数据
  3. $arr = array(
  4. 'firstname' => iconv('gb2312', 'utf-8', '非诚'),
  5. 'lastname' => iconv('gb2312', 'utf-8', '勿扰'),
  6. 'contact' => array(
  7. 'email' =>'fcwr@phpfensi.com',
  8. 'website' =>'http://www.phpfensi.com',
  9. )
  10. );
  11. //将数组编码成JSON数据格式
  12. $json_string = json_encode($arr);
  13. //将JSON格式数据进行解码,解码后不是JSON数据格式,不可用echo直接输出
  14. $obj = json_decode($json_string);
  15. //强制转化为数组格式
  16. $arr = (array) $obj;
  17. //按数组方式调用里面的数据
  18. echo iconv('utf-8','gb2312',$arr['firstname']);
  19. echo '</br>';
  20. //输出数组结构
  21. print_r($arr);
  22. ?>

好了实例就讲到了这里了