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 相关文章推荐
smtp邮件发送一例
Oct 09 PHP
php preg_match_all结合str_replace替换内容中所有img
Oct 11 PHP
php 遍历显示文件夹下所有目录、所有文件的函数,没有分页的代码
Nov 14 PHP
php读取html并截取字符串的简单代码
Nov 30 PHP
PHP关联数组的10个操作技巧
Jan 21 PHP
PHP-redis中文文档介绍
Feb 07 PHP
php读取csv文件后,uft8 bom导致在页面上显示出现问题的解决方法
Aug 10 PHP
phpmyadmin配置文件现在需要绝密的短密码(blowfish_secret)的2种解决方法
May 07 PHP
Laravel框架数据库CURD操作、连贯操作总结
Sep 03 PHP
php制作简单模版引擎
Apr 07 PHP
php 判断字符串编码是utf-8 或gb2312实例
Nov 01 PHP
thinkPHP实现基于ajax的评论回复功能
Jun 22 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
《DOTA3》开发工作已经开始 《DOTA3》将代替《DOTA2》
2021/03/06 DOTA
PHP实现异步调用方法研究与分享
2011/10/27 PHP
Codeigniter实现发送带附件的邮件
2015/03/19 PHP
PHP中addslashes与mysql_escape_string的区别分析
2016/04/25 PHP
利用php生成验证码
2017/02/23 PHP
Laravel使用模型实现like模糊查询的例子
2019/10/24 PHP
利用jquery操作select下拉列表框的代码
2010/06/04 Javascript
jsTree 基于JQuery的排序节点 Bug
2011/07/26 Javascript
onkeydown事件解决按回车键直接提交数据的需求
2013/04/11 Javascript
深入理解javaScript中的事件驱动
2013/05/21 Javascript
回车直接实现点击某按钮的效果即触发单击事件
2014/02/27 Javascript
JS实现鼠标滑过折叠与展开菜单效果代码
2015/09/06 Javascript
Bootstrap table的使用方法
2016/11/02 Javascript
js实现文字跑马灯效果
2017/02/23 Javascript
vue实现密码显示与隐藏按钮的自定义组件功能
2019/04/23 Javascript
vue中实现回车键登录功能
2020/02/19 Javascript
[01:10:27]DOTA2-DPC中国联赛正赛 SAG vs XG BO3 第二场 3月5日
2021/03/11 DOTA
python中print的不换行即时输出的快速解决方法
2016/07/20 Python
mac下给python3安装requests库和scrapy库的实例
2018/06/13 Python
pycharm下查看python的变量类型和变量内容的方法
2018/06/26 Python
详解django中url路由配置及渲染方式
2019/02/25 Python
django-rest-framework解析请求参数过程详解
2019/07/18 Python
Django在pycharm下修改默认启动端口的方法
2019/07/26 Python
python应用文件读取与登录注册功能
2019/09/23 Python
Python迭代器iterator生成器generator使用解析
2019/10/24 Python
Pyecharts绘制全球流向图的示例代码
2020/01/08 Python
Python图像处理库PIL的ImageFont模块使用介绍
2020/02/26 Python
Python3将ipa包中的文件按大小排序
2020/04/17 Python
利用css3 translate完美实现表头固定效果
2017/02/28 HTML / CSS
突袭HTML5之Javascript API扩展4—拖拽(Drag/Drop)概述
2013/01/31 HTML / CSS
下面关于"联合"的题目的输出是什么
2013/08/06 面试题
建筑专业毕业生推荐信
2013/11/21 职场文书
《李广射虎》教学反思
2014/04/27 职场文书
天地会口号
2014/06/17 职场文书
Python答题卡识别并给出分数的实现代码
2021/06/22 Python
MySql子查询IN的执行和优化的实现
2021/08/02 MySQL