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的类 功能齐全的发送邮件类
Oct 09 PHP
PHP文本操作类
Nov 25 PHP
php的access操作类
Apr 09 PHP
深入理解PHP原理之错误抑制与内嵌HTML分析
May 02 PHP
怎样给PHP源代码加密?PHP二进制加密与解密的解决办法
Apr 22 PHP
基于php常用正则表达式的整理汇总
Jun 08 PHP
探讨:web上存漏洞及原理分析、防范方法
Jun 29 PHP
Zend Framework动作助手Json用法实例分析
Mar 05 PHP
php使用curl实现ftp文件下载功能
May 16 PHP
YII2自动登录Cookie总是失效的解决方法
Jun 28 PHP
PHP7.3.10编译安装教程
Oct 08 PHP
PHP利用curl发送HTTP请求的实例代码
Jul 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
php数组函数序列之array_key_exists() - 查找数组键名是否存在
2011/10/29 PHP
php解析url并得到url中的参数及获取url参数的四种方式
2015/10/26 PHP
基于prototype的validation.js发布2.3.4新版本,让你彻底脱离表单验证的烦恼
2006/12/06 Javascript
JavaScript中void(0)的具体含义解释
2007/02/27 Javascript
Javascript 同时提交多个Web表单的方法
2009/02/19 Javascript
javascript题目,重写函数让其无限相加
2012/02/15 Javascript
使用js操作cookie的一点小收获分享
2013/09/03 Javascript
js定时器怎么写?就是在特定时间执行某段程序
2013/10/11 Javascript
详谈LABJS按需动态加载js文件
2015/05/07 Javascript
JQuery 传送中文乱码问题的简单解决办法
2016/05/24 Javascript
bootstrap table单元格新增行并编辑
2017/05/19 Javascript
template.js前端模板引擎使用详解
2017/10/10 Javascript
js构造函数创建对象是否加new问题
2018/01/22 Javascript
如何将你的AngularJS1.x应用迁移至React的方法
2018/02/01 Javascript
从vue基础开始创建一个简单的增删改查的实例代码(推荐)
2018/02/11 Javascript
Bootstrap实现可折叠分组侧边导航菜单
2018/03/07 Javascript
使用bootstrap实现下拉框搜索功能的实例讲解
2018/08/10 Javascript
Vue常用指令详解分析
2018/08/19 Javascript
vue实现循环切换动画
2018/10/17 Javascript
JS三级联动代码格式实例详解
2019/12/30 Javascript
JS监听组合按键思路及实现过程
2020/04/17 Javascript
python strip()函数 介绍
2013/05/24 Python
Python中pip安装非PyPI官网第三方库的方法
2015/06/02 Python
Python贪吃蛇游戏编写代码
2020/10/26 Python
Python爬虫文件下载图文教程
2018/12/23 Python
Python之——生成动态路由轨迹图的实例
2019/11/22 Python
python opencv进行图像拼接
2020/03/27 Python
html5的画布canvas——画出简单的矩形、三角形实例代码
2013/06/09 HTML / CSS
Shop Apotheke瑞士:您的健康与美容网上商店
2019/10/09 全球购物
VisionPros美国站:加拿大在线隐形眼镜和眼镜零售商
2020/02/11 全球购物
以思科路由器为例你写下单臂路由的配置命令
2013/08/03 面试题
优秀学生事迹材料
2014/02/08 职场文书
超市重阳节活动方案
2014/02/10 职场文书
超市采购员岗位职责
2015/04/07 职场文书
党员转正意见怎么写
2015/06/03 职场文书
python opencv人脸识别考勤系统的完整源码
2021/04/26 Python