博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
php操作JSON格式数据
阅读量:4348 次
发布时间:2019-06-07

本文共 1997 字,大约阅读时间需要 6 分钟。

知识点:

1、JSON数据格式介绍

2、对数据编码成JSON格式

3、对JSON数据进行解码,并操作

JSON数据格式表示方式如下:

{ "programmers": [

  { "firstName": "Brett", "lastName":"McLaughlin", "email": "aaaa" },

  { "firstName": "Jason", "lastName":"Hunter", "email": "bbbb" },

  { "firstName": "Elliotte", "lastName":"Harold", "email": "cccc" }

  ],

  "authors": [

  { "firstName": "Isaac", "lastName": "Asimov", "genre": "science fiction" },

  { "firstName": "Tad", "lastName": "Williams", "genre": "fantasy" },

  { "firstName": "Frank", "lastName": "Peretti", "genre": "christian fiction" }

  ],

  "musicians": [

  { "firstName": "Eric", "lastName": "Clapton", "instrument": "guitar" },

  { "firstName": "Sergei", "lastName": "Rachmaninoff", "instrument": "piano" }

  ] }

用php将数据编码成JSON格式:

iconv('gb2312', 'utf-8', '非诚'), 'lastname' => iconv('gb2312', 'utf-8', '勿扰'), 'contact' => array( 'email' =>'fcwr@dibaye.com', 'website' =>'http://www.dibaye.com', ) ); //将数组编码成JSON数据格式 $json_string = json_encode($arr); //JSON格式数据可直接输出 echo $json_string; ?>

需要指出的是,在非UTF-8编码下,中文字符将不可被encode,结果会出来空值,所以,如果你使用 gb2312编写PHP代码,那么就需要将包含中文的内容使用iconv或者mb转为UTF-8再进行json_encode。

输出:(JSON格式)

{"firstname":"\u975e\u8bda","lastname":"\u52ff\u6270","contact":{"email":"fcwr@dibaye.com","website":"http:\/\/www.dibaye.com"}}

用php对JSON数据进行解码并处理:

iconv('gb2312', 'utf-8', '非诚'), 'lastname' => iconv('gb2312', 'utf-8', '勿扰'), 'contact' => array( 'email' =>'fcwr@dibaye.com', 'website' =>'http://www.dibaye.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 '
'; //输出数组结构 print_r($arr); ?>

输出:

非诚

Array ( [firstname] => 闈炶瘹 [lastname] => 鍕挎壈 [contact] => stdClass Object ( [email] => fcwr@dibaye.com [website] => http://www.dibaye.com ) )

转载于:https://www.cnblogs.com/zhexiao/archive/2011/12/26/2302127.html

你可能感兴趣的文章
桌面背景引起的电脑变慢、电脑卡
查看>>
软件工程个人作业02
查看>>
oracle 查询基础
查看>>
C++与C#的时间转换
查看>>
SeekBar: 修改SeekBar中进度条的高度
查看>>
js与jquery间的区别
查看>>
生成随机密码的工具类
查看>>
Ubuntu18.04 搭建zookeeper单机版集群
查看>>
阿里巴巴技术论坛总结
查看>>
匀速运动
查看>>
编写一个函数,计算两个数字的和差积商
查看>>
Input 只能输入数字与小数点
查看>>
使用TortoiseSVN打小包-补丁升级包-覆盖更新-增量发布
查看>>
[luogu4459][BJOI2018]双人猜数游戏(DP)
查看>>
Map 地图
查看>>
Visual studio 2008下用SWIG包裹C/C++代码给Perl调用(Windows XP)
查看>>
处理html转码
查看>>
设计模式之观察者模式
查看>>
(零)TCP/IP详解综述
查看>>
u盘中毒后文件被隐藏了
查看>>