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多个字符串替换成同一个的解决方法
Jun 18 PHP
使用PHP实现蜘蛛访问日志统计
Jul 05 PHP
php中用socket模拟http中post或者get提交数据的示例代码
Aug 08 PHP
PHP实现把数字ID转字母ID
Aug 12 PHP
PHP中常用的转义函数
Feb 28 PHP
php阳历转农历优化版
Aug 08 PHP
PHP实现对图片的反色处理功能【测试可用】
Feb 01 PHP
Thinkphp整合阿里云OSS图片上传实例代码
Apr 28 PHP
解决在Laravel 中处理OPTIONS请求的问题
Oct 11 PHP
laravel-admin 实现在指定的相册下添加照片
Oct 21 PHP
Laravel 实现Controller向blade前台模板赋值的四种方式小结
Oct 22 PHP
PHP实现简单的计算器
Aug 28 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
牡丹941资料
2021/03/01 无线电
SONY SRF-M100的电路分析
2021/03/02 无线电
php中截取字符串支持utf-8
2007/01/18 PHP
PHP OPCode缓存 APC详细介绍
2010/10/12 PHP
yii中widget的用法
2014/12/03 PHP
php实现的美国50个州选择列表实例
2015/04/20 PHP
PHP人民币金额转大写实例代码
2015/10/02 PHP
Laravel手动分页实现方法详解
2016/10/09 PHP
PHP链表操作简单示例
2016/10/15 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
js 格式化时间日期函数小结
2010/03/20 Javascript
jquery星级插件、支持页面中多次使用
2012/03/25 Javascript
使用JavaScript动态设置样式实现代码(2)
2013/01/25 Javascript
jQuery实现列表的全选功能
2015/03/18 Javascript
js实现千分符和保留几位小数的简单实例
2016/08/01 Javascript
Vue.js 插件开发详解
2017/03/29 Javascript
EasyUI在Panel上动态添加LinkButton按钮
2017/08/11 Javascript
新手vue构建单页面应用实例代码
2017/09/18 Javascript
React 组件渲染和更新的实现代码示例
2019/02/21 Javascript
Python实现提取文章摘要的方法
2015/04/21 Python
在PyCharm下打包*.py程序成.exe的方法
2018/11/29 Python
PyQt5 在label显示的图片中绘制矩形的方法
2019/06/17 Python
Python3 Tkinkter + SQLite实现登录和注册界面
2019/11/19 Python
Django {{ MEDIA_URL }}无法显示图片的解决方式
2020/04/07 Python
用opencv给图片换背景色的示例代码
2020/07/08 Python
What is the purpose of Void class? Void类的作用是什么?
2016/10/31 面试题
写出程序把一个链表中的接点顺序倒排
2014/04/28 面试题
举例说明类变量和实例变量的区别
2016/06/30 面试题
关于赌博的检讨书
2014/01/08 职场文书
工程招投标邀请书
2014/01/26 职场文书
安全保证书范文
2014/04/29 职场文书
爱护公共设施倡议书
2014/08/29 职场文书
机关职员工作检讨书
2014/10/23 职场文书
2014年节能减排工作总结
2014/12/06 职场文书
2014年扶贫帮困工作总结
2014/12/09 职场文书
剑指Offer之Java算法习题精讲二叉树的构造和遍历
2022/03/21 Java/Android