PHP6 先修班 JSON实例代码


Posted in PHP onAugust 23, 2008

它是基於JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一??子集
JSON 主要利用了成?Φ {} ?戆?「??object(物件),用成?Φ [] ?戆???array(?列),
用成?Φ "" ?戆?「髯执??枚禾???^隔各??刀?Y料型?B有 string, number, array, object

下面??蔚?SON格式,?⑹隽艘?? object json ?碛幸??成?T??????成?T??抵杏泻?腥??物件

复制内容到剪贴板代码:
var json = {
'query' : [
{'id':'1','type':'a','title':'PHP 5.2.0 的新功能 JSON decoder & encoder'},
{'id':'2','type':'b','title':'JSON 全? JavaScript Object Notation'},
{'array': ['A', 'B','C', 'D', 'E']}
]
};
如此,我??可以?得一??叫做 json 的Object,而???json Object中包含一???立的成?T query
而query包含一??Array ,???Array中又含了三??Object,前面二??Object含有三??成?T
id,type,title,而最後一??Object array 包含一???列,如此解??明白吧?

但是要怎?用呢?
很??
alert('I have ' +json.query.length + ' object.');
//alert I have 3 object.
alert('type='+json.query[1].type+'\r\ntitle'+json.query[1].title);
//alert type=b title=JSON 全? JavaScript Object Notation
alert('?列索引3='+json.query[2].array[3]);
//alert ?列索引3=D

??硬僮髻Y料?r更?便,不需要和??的DOM打交道,所需要的?料可以很??的取得
例如上面的例子 json.query[ i ].title 如此就可以取得第i?的title?群?闹
PHP的?展是很迅速,?程式界??SON?一知半解?r或者全然不知何??SON?r
PHP已?在最新的版本5.2.0中?入核心,?K且????B是?⒂茫?噍^於其他的Script?言
PHP可?一??先,在5.2.0版本中??SON??作了???函? json_decode() 和 json_encode()
前者是??SON格式的字串?原成PHP原生的?列
後者?t是??HP原生?列??成JSON格式的字串
不?,由於Javascript支援Unicode,如果在存取?料??r使用非Ascii的字元,如中、日、?
需要?⒆衷?????Q成UTF8,不然??json_encode()後的字串???y?
========================================================
??上一篇??谓榻BJOSN後
本篇就???作如何使用JOSN
下面?例使用需要使用MySQL4.1以上版本
??全程?裼?tf8
承接上一篇的?料格式,表中共有三???谖?d,type,title
?料表?格如下
复制内容到剪贴板代码:
CREATE TABLE `news` (
`id` int(10) unsigned NOT NULL auto_increment,
`type` varchar(255) NOT NULL default '',
`title` varchar(64) NOT NULL default '',
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=0 DEFAULT CHARSET=utf8;
复制内容到剪贴板代码:
<?php
//建立??
$conn = mysqli_connect("localhost", 'root', '')or die('?不上?料??);
//??褓Y料?
mysqli_select_db($conn,'mydata') or die('不能??料??);
//?定??????t,不懂上google找
mysqli_query($conn,'SET NAMES 'utf8'');
//取出?料
$results = mysqli_query($conn,'SELECT id,type,title FROM news');
//Josn字串
$json = '';
//因?槭枪?例,所以自行控制?圈
$i=0;
while($row = mysqli_fetch_assoc($results))
{
$i++;
$json .= json_encode($row);
//?料表中只放三??料,所以在第三??r不需要在尾巴加上 ",",?得,最後一??料不用加上","
if ($i<3)
{
$json .= ",";
}

}
//?①Y料包??列中
$json = '{"query":[ '.$json.']}';?>
<!doctype html public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" dir="ltr" xml:lang="zh-tw" lang="zh-tw" >
<head>
<title>Json?例</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Pragma" content="no-cache" />
<meta http-equiv="Expires" content="-1" />
<meta http-equiv="Cache-Control" content="no-cache" />
<meta name="generator" content="mamba" />
</head>
<body>
<script type="text/javascript">
var json = <?php echo $json?>;
alert('I have ' +json.query.length + ' object.');
alert('type='+json.query[1].type+'rntitle'+json.query[1].title);
//上一篇?介中使用?
</script>
?原Json<br>
<?php
//?⒆执?獯a
$s_JSON_Decoded = json_decode($json,true);
//取回?料
foreach ($s_JSON_Decoded as $row)
{
foreach ($row as $rowa)
{
echo $rowa['title']."<br>";
}

}
?>
</body>
</html>
????蔚难菥?後
相信大家??SON?玩意有更深一?拥牟t解
?然JSON的??貌恢皇枪?例中那???
有?趣一起研究吧

PHP 相关文章推荐
ip签名探针
Oct 09 PHP
PHP新手上路(五)
Oct 09 PHP
PHP 数组遍历顺序理解
Sep 09 PHP
PHP如何解决网站大流量与高并发的问题
Jun 25 PHP
php使HTML标签自动补全闭合函数代码
Oct 04 PHP
ThinkPHP模板判断输出Empty标签用法详解
Jun 30 PHP
PHP执行SQL文件并将SQL文件导入到数据库
Sep 17 PHP
php获取POST数据的三种方法实例详解
Dec 20 PHP
PHP 无限级分类
May 04 PHP
php实现自定义中奖项数和概率的抽奖函数示例
May 26 PHP
thinkPHP5框架闭包函数与子查询传参用法示例
Aug 02 PHP
ThinkPhP+Apache+PHPstorm整合框架流程图解
Nov 23 PHP
php的curl实现get和post的代码
Aug 23 #PHP
PHP Smarty生成EXCEL文档的代码
Aug 23 #PHP
php过滤危险html代码
Aug 18 #PHP
php htmlentities和htmlspecialchars 的区别
Aug 18 #PHP
php magic_quotes_gpc的一点认识与分析
Aug 18 #PHP
php数组应用之比较两个时间的相减排序
Aug 18 #PHP
php中的数组操作函数整理
Aug 18 #PHP
You might like
德生PL990,目前市面上唯一一款便携式插卡蓝牙全波段高性能收音机
2021/03/02 无线电
PHP HTML JavaScript MySQL代码如何互相传值的方法分享
2012/09/30 PHP
PHP结合JQueryJcrop实现图片裁切实例详解
2014/07/24 PHP
PHP使用PHPExcel删除Excel单元格指定列的方法
2016/07/06 PHP
laravel 去掉index.php伪静态的操作方法
2019/10/12 PHP
JQuery 文本框使用小结
2010/05/22 Javascript
JS实现带鼠标效果的头像及文章列表代码
2015/09/27 Javascript
Node.js的项目构建工具Grunt的安装与配置教程
2016/05/12 Javascript
深入理解JQuery循环绑定事件
2016/06/02 Javascript
实例讲解JavaScript中call、apply、bind方法的异同
2016/09/13 Javascript
JavaScript实现左侧菜单效果
2017/12/14 Javascript
bootstrap中selectpicker下拉框使用方法实例
2018/03/22 Javascript
JS 实现分页打印功能
2018/05/16 Javascript
vue 组件的封装之基于axios的ajax请求方法
2018/08/11 Javascript
webpack4 SCSS提取和懒加载的示例
2018/09/03 Javascript
React注册倒计时功能的实现
2018/09/06 Javascript
Vue.js上传图片到阿里云OSS存储的方法示例
2018/12/13 Javascript
使用vue-cli3 创建vue项目并配置VS Code 自动代码格式化 vue语法高亮问题
2019/05/14 Javascript
Vue全局loading及错误提示的思路与实现
2019/08/09 Javascript
详解React 条件渲染
2020/07/08 Javascript
使用python分析git log日志示例
2014/02/27 Python
跟老齐学Python之list和str比较
2014/09/20 Python
基于asyncio 异步协程框架实现收集B站直播弹幕
2016/09/11 Python
python如何实现int函数的方法示例
2018/02/19 Python
python与caffe改变通道顺序的方法
2018/08/04 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
2019/08/22 Python
Python 保存加载mat格式文件的示例代码
2020/08/04 Python
英国的领先快速时尚零售商:In The Style
2019/03/25 全球购物
房地产销售计划书
2014/01/10 职场文书
领导干部保密承诺书
2014/08/30 职场文书
小学生国庆演讲稿
2014/09/05 职场文书
机票销售员态度不好检讨书
2014/09/27 职场文书
党的群众路线教育实践活动领导班子整改措施
2014/10/28 职场文书
儿子满月酒致辞
2015/07/29 职场文书
西部计划志愿者工作总结
2015/08/11 职场文书
CSS几步实现赛博朋克2077风格视觉效果
2021/06/16 HTML / CSS