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脚本的10个技巧(7)
Oct 09 PHP
php下实现在指定目录搜索指定类型文件的函数
Oct 03 PHP
php中并发读写文件冲突的解决方案
Oct 25 PHP
php+mysqli批量查询多张表数据的方法
Jan 29 PHP
php判断并删除空目录及空子目录的方法
Feb 11 PHP
php超快高效率统计大文件行数
Jul 05 PHP
PHP基于自定义函数生成笛卡尔积的方法示例
Sep 30 PHP
php实现算术验证码功能
Dec 05 PHP
实例分析PHP将字符串转换成数字的方法
Jan 27 PHP
CentOS7系统搭建LAMP及更新PHP版本操作详解
Mar 26 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
Apr 04 PHP
PHP vsprintf()函数格式化字符串操作原理解析
Jul 14 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
解析thinkphp中的M()与D()方法的区别
2013/06/22 PHP
PHP加密扩展库Mcrypt安装和实例
2013/11/10 PHP
destoon利用Rewrite规则设置网站安全
2014/06/21 PHP
php输出xml属性的方法
2015/03/19 PHP
wordpress网站转移到本地运行测试的方法
2017/03/15 PHP
详谈php ip2long 出现负数的原因及解决方法
2017/04/05 PHP
TP5(thinkPHP5)框架基于ajax与后台数据交互操作简单示例
2018/09/03 PHP
jquery $.ajax入门应用二
2008/11/19 Javascript
javascript闭包入门示例
2014/04/30 Javascript
Jquery ajax 同步阻塞引起的UI线程阻塞问题
2015/11/17 Javascript
node.js报错:Cannot find module 'ejs'的解决办法
2016/12/14 Javascript
浅谈Angular路由复用策略
2017/10/04 Javascript
vue组件实现弹出框点击显示隐藏效果
2020/10/26 Javascript
JS实现可切换图片的幻灯切换效果示例
2019/05/24 Javascript
JS中==、===你分清楚了吗
2020/03/04 Javascript
python中文乱码的解决方法
2013/11/04 Python
Python实现自动为照片添加日期并分类的方法
2017/09/30 Python
Python3中的列表生成式、生成器与迭代器实例详解
2018/06/11 Python
编写多线程Python服务器 最适合基础
2018/09/14 Python
Python 中Django安装和使用教程详解
2019/07/03 Python
python3在同一行内输入n个数并用列表保存的例子
2019/07/20 Python
django 前端页面如何实现显示前N条数据
2020/03/16 Python
Django Model中字段(field)的各种选项说明
2020/05/19 Python
移动端解决悬浮层(悬浮header、footer)会遮挡住内容的3种方法
2015/03/27 HTML / CSS
HTML5之消息通知的使用(Web Notification)
2018/10/30 HTML / CSS
销售主管岗位职责范本
2014/02/14 职场文书
大一工商管理职业生涯规划:有梦最美,行动相随
2014/09/18 职场文书
个人合伙协议书范本
2014/10/14 职场文书
优秀党员先进事迹材料
2014/12/18 职场文书
2015年禁毒宣传活动总结
2015/03/25 职场文书
幼儿园校车安全责任书
2015/05/08 职场文书
家装电话营销开场白
2015/05/29 职场文书
PHP策略模式写法
2021/04/01 PHP
如何利用JavaScript实现二叉搜索树
2021/04/02 Javascript
JPA如何使用entityManager执行SQL并指定返回类型
2021/06/15 Java/Android
Python帮你解决手机qq微信内存占用太多问题
2022/02/15 Python