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 Token(令牌)设计
Mar 15 PHP
PHP中用接口、抽象类、普通基类实现“面向接口编程”与“耦合方法”简述
Mar 23 PHP
PHP error_log()将错误信息写入一个文件(定义和用法)
Oct 25 PHP
ThinkPHP之N方法实例详解
Jun 20 PHP
C/S和B/S两种架构区别与优缺点分析
Oct 23 PHP
typecho插件编写教程(四):插件挂载
May 28 PHP
php生成过去100年下拉列表的方法
Jul 20 PHP
PHP中set error handler函数用法小结
Nov 11 PHP
PHP实现从上往下打印二叉树的方法
Jan 18 PHP
php实现的mongoDB单例模式操作类
Jan 20 PHP
Laravel 自定命令以及生成文件的例子
Oct 23 PHP
PHP8.0新功能之Match表达式的使用
Jul 19 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提取字符串中的图片地址[正则表达式]
2011/11/12 PHP
PHP实现的memcache环形队列类实例
2015/07/28 PHP
Javascript操纵Cookie实现购物车程序
2006/11/23 Javascript
你所要知道JS(DHTML)中的一些技巧
2007/01/09 Javascript
JQuery与Ajax常用代码实现对比
2009/10/03 Javascript
Javascript 圆角div的实现代码
2009/10/15 Javascript
页面实时更新时间的JS实例代码
2013/12/18 Javascript
JS文本获得焦点清除文本文字的示例代码
2014/01/13 Javascript
js跨域问题浅析及解决方法优缺点对比
2014/11/08 Javascript
JavaScript实现图片轮播组件代码示例
2016/11/22 Javascript
JS 实现 ajax 异步浏览器兼容问题
2017/01/21 Javascript
使用contextMenu插件实现Bootstrap table弹出右键菜单
2017/02/20 Javascript
vue单页面在微信下只能分享落地页的解决方案
2019/04/15 Javascript
JQuery 实现文件下载的常用方法分析
2019/10/29 jQuery
jQuery实现简单评论功能
2020/08/19 jQuery
[59:15]完美世界DOTA2联赛PWL S2 LBZS vs FTD.C 第一场 11.20
2020/11/20 DOTA
Python的re模块正则表达式操作
2016/05/25 Python
python实现将excel文件转化成CSV格式
2018/03/22 Python
python版本五子棋的实现代码
2018/12/11 Python
详解如何在Apache中运行Python WSGI应用
2019/01/02 Python
python实现转盘效果 python实现轮盘抽奖游戏
2019/01/22 Python
python实现QQ空间自动点赞功能
2019/04/09 Python
python爬虫解决验证码的思路及示例
2019/08/01 Python
详解Python 中sys.stdin.readline()的用法
2019/09/12 Python
Python切割图片成九宫格的示例代码
2020/03/10 Python
Python Selenium 设置元素等待的三种方式
2020/03/18 Python
解决margin 外边距合并问题
2019/07/03 HTML / CSS
HTML5的结构和语义(4):语义性的内联元素
2008/10/17 HTML / CSS
卫校护理专业毕业生求职信
2013/11/26 职场文书
通用求职信范文模板分享
2013/12/27 职场文书
爱国主义教育活动总结
2014/05/07 职场文书
预备党员群众路线教育实践活动思想汇报2014
2014/10/25 职场文书
2014年高数考试作弊检讨书
2014/12/14 职场文书
巾帼标兵事迹材料
2014/12/26 职场文书
导游词之任弼时故居
2020/01/07 职场文书
Nginx缓存设置案例详解
2021/09/15 Servers