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中,文件上传
Dec 06 PHP
Windows2003 下 MySQL 数据库每天自动备份
Dec 21 PHP
php将fileterms函数返回的结果变成可读的形式
Apr 21 PHP
PHP json格式和js json格式 js跨域调用实现代码
Sep 08 PHP
PHP字符串中特殊符号的过滤方法介绍
Feb 18 PHP
php连接oracle数据库及查询数据的方法
Dec 29 PHP
php使用cookie显示用户上次访问网站日期的方法
Jan 26 PHP
php实现只保留mysql中最新1000条记录
Jun 18 PHP
PHP判断是手机端还是PC端 PHP判断是否是微信浏览器
Mar 15 PHP
CakePHP框架Model关联对象用法分析
Aug 04 PHP
PHP两个n位的二进制整数相加问题的解决
Aug 26 PHP
Thinkphp5 如何隐藏入口文件index.php(URL重写)
Oct 16 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判断类是否存在函数class_exists用法分析
2014/11/14 PHP
初识通用数据库操作类――前端easyui-datagrid,form(php)
2015/07/31 PHP
PHP类的特性实例分析
2016/09/28 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
2017/09/22 PHP
PHP使用文件锁解决高并发问题示例
2018/03/29 PHP
为什么要在引入的css或者js文件后面加参数的详细讲解
2013/05/03 Javascript
jQuery 获取浏览器所在的IP地址的小例子
2013/11/08 Javascript
JavaScript中常用的六种互动方法示例
2015/03/13 Javascript
一分钟理解js闭包
2016/05/04 Javascript
全面了解javascript三元运算符
2016/06/27 Javascript
浅谈jQuery中事情的动态绑定
2017/02/12 Javascript
BootStrap+Mybatis框架下实现表单提交数据重复验证
2017/03/23 Javascript
JS简单获取当前日期和农历日期的方法
2017/04/17 Javascript
Ionic3实现图片瀑布流布局
2017/08/09 Javascript
Nodejs异步回调之异常处理实例分析
2018/06/22 NodeJs
Bootstrap 模态框自定义点击和关闭事件详解
2018/08/10 Javascript
javascript实现摄像头拍照预览
2019/09/30 Javascript
Angular6项目打包优化的实现方法
2019/12/15 Javascript
JS Array.from()将伪数组转换成数组的方法示例
2020/03/23 Javascript
微信小程序文章详情功能完整实例
2020/06/03 Javascript
vue Treeselect 树形下拉框:获取选中节点的ids和lables操作
2020/08/15 Javascript
Python模块学习 filecmp 文件比较
2012/08/27 Python
Python用Bottle轻量级框架进行Web开发
2016/06/08 Python
python+Splinter实现12306抢票功能
2018/09/25 Python
python3爬取torrent种子链接实例
2020/01/16 Python
有关pycharm登录github时有的时候会报错connection reset的问题
2020/09/15 Python
安装Anaconda3及使用Jupyter的方法
2020/10/27 Python
python IP地址转整数
2020/11/20 Python
matplotlib事件处理基础(事件绑定、事件属性)
2021/02/03 Python
利用CSS3的transition属性实现滑动效果
2015/08/05 HTML / CSS
纠风工作实施方案
2014/03/15 职场文书
党员教师四风问题对照检查材料
2014/09/26 职场文书
大二学生自我检讨书
2014/10/23 职场文书
家庭贫困证明
2015/06/16 职场文书
2016年推广普通话宣传周活动总结
2016/04/06 职场文书
「天才王子的赤字国家重生术」妮妮姆·拉雷粘土人开订
2022/03/21 日漫