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个人网站架设连环讲(三)
Oct 09 PHP
PHP用户指南-cookies部分
Oct 09 PHP
php中使用Imagick实现图像直方图的实现代码
Aug 30 PHP
PHP json_encode() 函数详解及中文乱码问题
Nov 05 PHP
实现PHP框架系列文章(6)mysql数据库方法
Mar 04 PHP
PHP Static延迟静态绑定用法分析
Mar 16 PHP
详解PHP的Yii框架的运行机制及其路由功能
Mar 17 PHP
php验证身份证号码正确性的函数
Jul 20 PHP
PHP中仿制 ecshop验证码实例
Jan 06 PHP
PHP实现文件下载【实例分享】
Apr 28 PHP
php插入mysql数据返回id的方法
May 31 PHP
PHP命令行与定时任务
Apr 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使用Image Magick将PDF文件转换为JPG文件的方法
2015/04/01 PHP
php pdo oracle中文乱码的快速解决方法
2016/05/16 PHP
些很实用且必用的小脚本代码
2006/06/26 Javascript
js注意img图片的onerror事件的分析
2011/01/01 Javascript
JavaScript splice()方法详解
2020/09/22 Javascript
js中浮点型运算BUG的解决方法说明
2014/01/06 Javascript
使用JavaScript获取地址栏参数的方法
2014/12/19 Javascript
Javascript中的getUTCDay()方法使用详解
2015/06/10 Javascript
JavaScript简单修改窗口大小的方法
2015/08/03 Javascript
AngularJS中使用HTML5手机摄像头拍照
2016/02/22 Javascript
javascript简单判断输入内容是否合法的方法
2016/05/11 Javascript
浅析location.href跨窗口调用函数
2016/11/22 Javascript
bootstrap表单按回车会自动刷新页面的解决办法
2017/03/08 Javascript
关于vue.js组件数据流的问题
2017/07/26 Javascript
js制作简单的音乐播放器的示例代码
2017/08/28 Javascript
用vuex写了一个购物车H5页面的示例代码
2018/12/04 Javascript
Vue.js实现开发购物车功能的方法详解
2019/02/22 Javascript
vue如何截取字符串
2019/05/06 Javascript
详解Howler.js Web音频播放终极解决方案
2020/08/23 Javascript
Postman无法正常返回结果问题解决
2020/08/28 Javascript
在vue中获取wangeditor的html和text的操作
2020/10/23 Javascript
python进程管理工具supervisor使用实例
2014/09/17 Python
使用Python脚本来获取Cisco设备信息的示例
2015/05/04 Python
Python排序搜索基本算法之选择排序实例分析
2017/12/09 Python
Python线程创建和终止实例代码
2018/01/20 Python
python2.7 安装pip的方法步骤(管用)
2019/05/05 Python
Python动态参数/命名空间/函数嵌套/global和nonlocal
2019/05/29 Python
浅谈tensorflow中Dataset图片的批量读取及维度的操作详解
2020/01/20 Python
PyTorch中的C++扩展实现
2020/04/02 Python
python正则表达式的懒惰匹配和贪婪匹配说明
2020/07/13 Python
详解python3类型注释annotations实用案例
2021/01/20 Python
原生 JS+CSS+HTML 实现时序图的方法
2019/07/31 HTML / CSS
家长评语大全
2014/01/22 职场文书
Matlab求解数组中的最大值及它所在的具体位置
2021/04/16 Python
解决ObjectMapper.convertValue() 遇到的一些问题
2021/06/30 Java/Android
javascript Number 与 Math对象的介绍
2021/11/17 Javascript