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 相关文章推荐
IIS下配置Php+Mysql+zend的图文教程
Dec 08 PHP
php数组的一些常见操作汇总
Jul 17 PHP
php 抽象类的简单应用
Sep 06 PHP
php连接mssql的一些相关经验及注意事项
Feb 05 PHP
ThinkPHP实现ajax仿官网搜索功能实例
Dec 02 PHP
php制作的简单验证码识别代码
Jan 26 PHP
PHP使用内置函数生成图片的方法详解
May 09 PHP
PHP flush 函数使用注意事项
Aug 26 PHP
php下载远程大文件(获取远程文件大小)的实例
Jun 17 PHP
PHP简单实现防止SQL注入的方法
Mar 13 PHP
php实现的顺序线性表示例
May 04 PHP
基于laravel缓冲cache的用法详解
Oct 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
PHP分页显示制作详细讲解
2006/10/09 PHP
php模拟post行为代码总结(POST方式不是绝对安全)
2012/02/22 PHP
PHP速成大法
2015/01/30 PHP
PHP使用DOM和simplexml读取xml文档的方法示例
2017/02/08 PHP
js控制淡入淡出示例代码
2013/11/12 Javascript
jQuery实现表格颜色交替显示的方法
2015/03/09 Javascript
jquery实现页面百叶窗走马灯式翻滚显示效果的方法
2015/03/12 Javascript
纯js代码制作的网页时钟特效【附实例】
2016/03/30 Javascript
Ionic如何实现下拉刷新与上拉加载功能
2016/06/03 Javascript
jQuery EasyUI Tab 选项卡问题小结
2016/08/16 Javascript
Node.js 日志处理模块log4js
2016/08/28 Javascript
gulp加批处理(.bat)实现ng多应用一键自动化构建
2017/02/16 Javascript
微信小程序wx.request拦截器使用详解
2019/07/09 Javascript
p5.js临摹动态图形的方法
2019/10/23 Javascript
js实现滑动进度条效果
2020/08/21 Javascript
解决Mac安装scrapy失败的问题
2018/06/13 Python
python实现文件的分割与合并
2019/08/29 Python
Python随机数函数代码实例解析
2020/02/09 Python
波兰品牌鞋履在线商店:Eastend.pl
2020/01/11 全球购物
管道维修工岗位职责
2013/12/27 职场文书
怎样写演讲稿
2014/01/04 职场文书
大学毕业后的十年规划
2014/01/07 职场文书
黄河的主人教学反思
2014/02/07 职场文书
俄语专业职业生涯规划
2014/02/26 职场文书
2014年党务公开实施方案
2014/02/27 职场文书
《宋庆龄故居的樟树》教学反思
2014/04/07 职场文书
2014党员整改措施思想汇报
2014/10/07 职场文书
夫妻双方自愿离婚协议书
2014/10/24 职场文书
工地材料员岗位职责
2015/04/11 职场文书
2016学校元旦晚会经典开场白台词
2015/12/03 职场文书
关于环保的广播稿
2015/12/17 职场文书
Django与数据库交互的实现
2021/06/03 Python
Python中else的三种使用场景
2021/06/16 Python
nginx共享内存的机制详解
2022/03/21 Servers
2022新作动画《福星小子》释出宣传影片 加入内田真礼&宫野真守配音演出
2022/04/08 日漫
USB TYPE-C 或将成为所有智能手机充电标准
2022/04/21 数码科技