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 相关文章推荐
3
Oct 09 PHP
php的header和asp中的redirect比较
Oct 09 PHP
PHP中foreach循环中使用引用要注意的地方
Jan 02 PHP
php中serialize序列化与json性能测试的示例分析
Apr 27 PHP
PHP在不同页面间传递Json数据示例代码
Jun 08 PHP
thinkphp实现数组分页示例
Apr 13 PHP
PHP实现的DES加密解密封装类完整实例
Apr 29 PHP
基于ThinkPHP5.0实现图片上传插件
Sep 25 PHP
支持汉转拼和拼音分词的PHP中文工具类ChineseUtil
Feb 23 PHP
php支付宝APP支付功能
Jul 29 PHP
启用OPCache提高PHP程序性能的方法
Mar 21 PHP
PHP实现带进度条的Ajax文件上传功能示例
Jul 02 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
PHPMailer 中文使用说明小结
2010/01/22 PHP
第五章 php数组操作
2011/12/30 PHP
php快递单号查询接口使用示例
2014/05/05 PHP
PHP ignore_user_abort函数详细介绍和使用实例
2014/07/15 PHP
php通过session防url攻击方法
2014/12/10 PHP
PHP导出Excel实例讲解
2016/01/24 PHP
PHP+原生态ajax实现的省市联动功能详解
2017/08/15 PHP
Laravel 批量更新多条数据的示例
2017/11/27 PHP
浅谈PHP中pack、unpack的详细用法
2018/03/12 PHP
laravel 如何实现引入自己的函数或类库
2019/10/15 PHP
javascript中的107个基础知识收集整理 推荐
2010/03/29 Javascript
js格式化金额可选是否带千分位以及保留精度
2014/01/28 Javascript
Windows系统中安装nodejs图文教程
2015/02/28 NodeJs
js实现类似于add(1)(2)(3)调用方式的方法
2015/03/04 Javascript
简单谈谈javascript Date类型
2015/09/06 Javascript
js针对ip地址、子网掩码、网关的逻辑性判断
2016/01/06 Javascript
微信公众号 客服接口的开发实例详解
2016/09/28 Javascript
微信小程序 前端源码逻辑和工作流详解
2016/10/08 Javascript
react native仿微信PopupWindow效果的实例代码
2017/08/07 Javascript
jQuery+HTML5实现WebGL高性能烟花绽放动画效果【附demo源码下载】
2017/08/18 jQuery
Vue2.0 http请求以及loading展示实例
2018/03/06 Javascript
微信小程序授权登录及解密unionId出错的方法
2018/09/26 Javascript
express中static中间件的具体使用方法
2019/10/17 Javascript
[04:07]显微镜下的DOTA2第八期——英雄复活动作
2014/06/24 DOTA
python函数形参用法实例分析
2015/08/04 Python
Python利用带权重随机数解决抽奖和游戏爆装备问题
2016/06/16 Python
python 图像平移和旋转的实例
2019/01/10 Python
详解python执行shell脚本创建用户及相关操作
2019/04/11 Python
在notepad++中实现直接运行python代码
2019/12/18 Python
解决python 找不到module的问题
2020/02/12 Python
CSS3制作hover下划线动画
2017/03/27 HTML / CSS
HTML5 Canvas中使用用路径描画圆弧
2015/01/01 HTML / CSS
社区好人好事材料
2014/12/26 职场文书
出纳试用期工作总结2015
2015/05/28 职场文书
红十字会救护培训简讯
2015/07/20 职场文书
Python使用pyecharts控件绘制图表
2022/06/05 Python