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 相关文章推荐
简单的移动设备检测PHP脚本代码
Feb 19 PHP
PHP判断远程url是否有效的几种方法小结
Oct 08 PHP
Ajax实时验证用户名/邮箱等是否已经存在的代码打包
Dec 01 PHP
php伪静态之APACHE篇
Jun 02 PHP
PHP中require和include路径问题详解
Dec 25 PHP
php打包压缩文件之ZipArchive方法用法分析
Apr 30 PHP
Joomla简单判断用户是否登录的方法
May 04 PHP
php使用curl代理实现抓取数据的方法
Feb 03 PHP
PHP实现上传多文件示例代码
Feb 20 PHP
PHP基于双向链表与排序操作实现的会员排名功能示例
Dec 26 PHP
深入学习微信网址链接解封的防封原理visit_type
Aug 15 PHP
Laravel中GraphQL接口请求频率实战记录
Sep 01 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读取txt文件的内容并赋值给数组的代码
2011/11/03 PHP
PHP __autoload()方法真的影响性能吗?
2012/03/30 PHP
CodeIgniter CLI模式简介
2014/06/17 PHP
destoon实现调用图文新闻的方法
2014/08/21 PHP
为你的 Laravel 验证器加上多验证场景的实现
2020/04/07 PHP
PHP基于ip2long实现IP转换整形
2020/12/11 PHP
用js实现随机返回数组的一个元素
2007/08/13 Javascript
jquery构造器的实现代码小结
2011/05/16 Javascript
jquery animate实现鼠标放上去显示离开隐藏效果
2013/07/21 Javascript
js快速排序的实现代码
2013/12/08 Javascript
js实现全国省份城市级联下拉菜单效果代码
2015/09/07 Javascript
利用jquery制作滚动到指定位置触发动画
2016/03/26 Javascript
JavaScript头像上传插件源码分享
2016/03/29 Javascript
js canvas实现放大镜查看图片功能
2017/06/08 Javascript
Vue列表页渲染优化详解
2017/07/24 Javascript
echarts设置图例颜色和地图底色的方法实例
2018/08/01 Javascript
前端路由&amp;webpack基础配置详解
2019/06/10 Javascript
jQuery实现弹幕特效
2019/11/29 jQuery
JavaScript位置参数实现原理及过程解析
2020/09/14 Javascript
[02:45]2016年中国刀塔全程回顾,完美“圣”典即将上演
2016/12/15 DOTA
详解Python中的条件判断语句
2015/05/14 Python
pycharm 解除默认unittest模式的方法
2018/11/30 Python
由面试题加深对Django的认识理解
2019/07/19 Python
python如何实现不用装饰器实现登陆器小程序
2019/12/14 Python
Python作用域与名字空间原理详解
2020/03/21 Python
浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式
2020/05/25 Python
Python基于pandas绘制散点图矩阵代码实例
2020/06/04 Python
Python numpy大矩阵运算内存不足如何解决
2020/11/19 Python
IE9对HTML5中部分属性不支持的原因分析
2014/10/15 HTML / CSS
理工科学生的自我评价
2013/12/15 职场文书
公务员转正鉴定材料
2014/02/11 职场文书
2015小学教师年度工作总结
2015/05/12 职场文书
公司年会晚会开幕词
2019/04/02 职场文书
Web前端:CSS最强总结 附详细代码
2021/03/31 HTML / CSS
Python基础之pandas数据合并
2021/04/27 Python
Python爬虫实战之爬取携程评论
2021/06/02 Python