php操作JSON格式数据的实现代码


Posted in PHP onDecember 24, 2011

知识点:
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格式:
<?php 
//php中用数组表示JSON格式数据 
$arr = array( 
'firstname' => iconv('gb2312', 'utf-8', '非诚'), 
'lastname' => iconv('gb2312', 'utf-8', '勿扰'), 
'contact' => array( 
'email' =>'fcwr@3water.com', 
'website' =>'https://3water.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@3water.com","website":"http:\/\/3water.com"}}
用php对JSON数据进行解码并处理:
<?php 
//php中用数组表示JSON格式数据 
$arr = array( 
'firstname' => iconv('gb2312', 'utf-8', '非诚'), 
'lastname' => iconv('gb2312', 'utf-8', '勿扰'), 
'contact' => array( 
'email' =>'fcwr@3water.com', 
'website' =>'https://3water.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); 
?>

输出:
非诚
Array ( [firstname] => ??璇? [lastname] => ?挎? [contact] => stdClass Object ( [email] => fcwr@3water.com [website] => https://3water.com ) )
PHP 相关文章推荐
php+oracle 分页类
Oct 09 PHP
如何将一个表单同时提交到两个地方处理
Oct 09 PHP
PHP个人网站架设连环讲(二)
Oct 09 PHP
PHP实现的英文名字全拼随机排号脚本
Jul 04 PHP
phpmyadmin出现Cannot start session without errors问题解决方法
Aug 14 PHP
php打印输出棋盘的实现方法
Dec 23 PHP
PHP数组操作类实例
Jul 11 PHP
PHP数组游标实现对数组的各种操作详解
Jan 26 PHP
Laravel访问出错提示:`Warning: require(/vendor/autoload.php): failed to open stream: No such file or di解决方法
Apr 02 PHP
laravel异步监控定时调度器实例详解
Jun 21 PHP
TP5框架安全机制实例分析
Apr 05 PHP
PHP大文件分割分片上传实现代码
Dec 09 PHP
php文件怎么打开 如何执行php文件
Dec 21 #PHP
使用JSON实现数据的跨域传输的php代码
Dec 20 #PHP
php自动注册登录验证机制实现代码
Dec 20 #PHP
php4与php5的区别小结(配置异同)
Dec 20 #PHP
利用ThinkPHP内置的ThinkAjax实现异步传输技术的实现方法
Dec 19 #PHP
如何使用Linux的Crontab定时执行PHP脚本的方法
Dec 19 #PHP
PHP定时执行计划任务的多种方法小结
Dec 19 #PHP
You might like
oracle资料库函式库
2006/10/09 PHP
PHP中=赋值操作符对不同数据类型的不同行为
2011/01/02 PHP
Smarty环境配置与使用入门教程
2016/05/11 PHP
Yii框架实现的验证码、登录及退出功能示例
2017/05/20 PHP
laravel框架中间件 except 和 only 的用法示例
2019/07/12 PHP
基于jQuery的自动完成插件
2011/02/03 Javascript
javascript作用域容易记错的两个地方分析
2012/06/22 Javascript
js获取判断上传文件后缀名的示例代码
2014/02/19 Javascript
ECMAScript6新增值比较函数Object.is
2015/06/12 Javascript
JS+CSS实现类似QQ好友及黑名单效果的树型菜单
2015/09/22 Javascript
js仿搜狐视频记录片列表展示效果
2020/05/30 Javascript
js原生Ajax的封装和原理详解
2017/03/11 Javascript
jQuery插件FusionCharts绘制的3D环饼图效果示例【附demo源码】
2017/04/02 jQuery
浅谈angularjs依赖服务注入写法的注意点
2017/04/24 Javascript
微信小程序对接七牛云存储的方法
2017/07/30 Javascript
Angular.js中$resource高大上的数据交互详解
2017/07/30 Javascript
Vue登录注册并保持登录状态的方法
2018/08/17 Javascript
Vue加载组件、动态加载组件的几种方式
2018/08/31 Javascript
koa2使用ejs和nunjucks作为模板引擎的使用
2018/11/27 Javascript
vue中 this.$set的用法详解
2019/09/06 Javascript
layui使用及简单的三级联动实现教程
2020/12/01 Javascript
简单介绍Python中的struct模块
2015/04/28 Python
在Python的Django框架中创建和使用模版
2015/07/15 Python
Python实现读取并保存文件的类
2017/05/11 Python
Python文件操作基本流程代码实例
2017/12/11 Python
Python如何生成树形图案
2018/01/03 Python
python中的随机函数小结
2018/01/27 Python
Python实现的特征提取操作示例
2018/12/03 Python
windows下python虚拟环境virtualenv安装和使用详解
2019/07/16 Python
python实现代码统计程序
2019/09/19 Python
Python实现JS解密并爬取某音漫客网站
2020/10/23 Python
iRobot官网:改变生活的家用机器人品牌
2016/09/20 全球购物
美国Curacao百货连锁店网站:iCuracao.com
2019/07/20 全球购物
优秀的个人求职信范文
2014/05/09 职场文书
金榜题名主持词
2015/07/02 职场文书
《纸船和风筝》教学反思
2016/02/18 职场文书