PHP6 先修班 JSON实例代码
时间:2021-06-11 08:09:39|栏目:PHP代码|点击: 次
它是基於JavaScript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一??子集
JSON 主要利用了成?Φ? {} ?戆?住各??object(物件),用成?Φ? [] ?戆?各??array(?列),
用成?Φ? "" ?戆?住各字串,用逗???^隔各??刀??Y料型?B有 string, number, array, object
下面??蔚?JSON格式,?⑹隽艘?? 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 全?Q 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 包含一???列,如此解??明白吧?
但是要怎?N用呢?
很???
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 全?Q JavaScript Object Notation
alert('?列索引3='+json.query[2].array[3]);
//alert ?列索引3=D
?@?硬僮髻Y料?r更?便,不需要和?}?s的DOM打交道,所需要的?Y料可以很?p?的取得
例如上面的例子 json.query[ i ].title 如此就可以取得第i?P的title?群?的值
PHP的?l展是很迅速,??程式界??JSON?一知半解?r或者全然不知何??JSON?r
PHP已?在最新的版本5.2.0中?{入核心,?K且?A?O??B是?⒂茫?相?^於其他的Script?Z言
PHP可?^一?R??先,在5.2.0版本中??JSON??作了???函?? json_decode() 和 json_encode()
前者是??JSON格式的字串?原成PHP原生的?列
後者?t是??PHP原生?列??g成JSON格式的字串
不?^,由於Javascript支援Unicode,如果在存取?Y料??r使用非Ascii的字元,如中、日、?n
需要?⒆衷???a?D?Q成UTF8,不然??^json_encode()後的字串??是?y?a
========================================================
??^上一篇??谓榻BJOSN後
本篇就???作如何使用JOSN
下面?例使用需要使用MySQL4.1以上版本
??a全程?裼?utf8
承接上一篇的?Y料格式,表中共有三???谖?id,type,title
?Y料表?格如下
复制内容到剪贴板代码:
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
//建立?B?
$conn = mysqli_connect("localhost", 'root', '')or die('?B不上?Y料??');
//?x?褓Y料??
mysqli_select_db($conn,'mydata') or die('不能?x?Y料??');
//?O定?B???a??t,不懂上google找
mysqli_query($conn,'SET NAMES 'utf8'');
//取出?Y料
$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);
//?Y料表中只放三?P?Y料,所以在第三?P?r不需要在尾巴加上 ",",?得,最後一?P?Y料不用加上","
if ($i<3)
{
$json .= ",";
}
}
//?①Y料包?M?列中
$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);
//取回?Y料
foreach ($s_JSON_Decoded as $row)
{
foreach ($row as $rowa)
{
echo $rowa['title']."<br>";
}
}
?>
</body>
</html>
??^??蔚难菥?後
相信大家??JSON?@玩意有更深一?拥牟t解
??然JSON的??用不只是?例中那?N???
有?d趣一起研究吧
JSON 主要利用了成?Φ? {} ?戆?住各??object(物件),用成?Φ? [] ?戆?各??array(?列),
用成?Φ? "" ?戆?住各字串,用逗???^隔各??刀??Y料型?B有 string, number, array, object
下面??蔚?JSON格式,?⑹隽艘?? 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 全?Q 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 包含一???列,如此解??明白吧?
但是要怎?N用呢?
很???
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 全?Q JavaScript Object Notation
alert('?列索引3='+json.query[2].array[3]);
//alert ?列索引3=D
?@?硬僮髻Y料?r更?便,不需要和?}?s的DOM打交道,所需要的?Y料可以很?p?的取得
例如上面的例子 json.query[ i ].title 如此就可以取得第i?P的title?群?的值
PHP的?l展是很迅速,??程式界??JSON?一知半解?r或者全然不知何??JSON?r
PHP已?在最新的版本5.2.0中?{入核心,?K且?A?O??B是?⒂茫?相?^於其他的Script?Z言
PHP可?^一?R??先,在5.2.0版本中??JSON??作了???函?? json_decode() 和 json_encode()
前者是??JSON格式的字串?原成PHP原生的?列
後者?t是??PHP原生?列??g成JSON格式的字串
不?^,由於Javascript支援Unicode,如果在存取?Y料??r使用非Ascii的字元,如中、日、?n
需要?⒆衷???a?D?Q成UTF8,不然??^json_encode()後的字串??是?y?a
========================================================
??^上一篇??谓榻BJOSN後
本篇就???作如何使用JOSN
下面?例使用需要使用MySQL4.1以上版本
??a全程?裼?utf8
承接上一篇的?Y料格式,表中共有三???谖?id,type,title
?Y料表?格如下
复制内容到剪贴板代码:
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
//建立?B?
$conn = mysqli_connect("localhost", 'root', '')or die('?B不上?Y料??');
//?x?褓Y料??
mysqli_select_db($conn,'mydata') or die('不能?x?Y料??');
//?O定?B???a??t,不懂上google找
mysqli_query($conn,'SET NAMES 'utf8'');
//取出?Y料
$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);
//?Y料表中只放三?P?Y料,所以在第三?P?r不需要在尾巴加上 ",",?得,最後一?P?Y料不用加上","
if ($i<3)
{
$json .= ",";
}
}
//?①Y料包?M?列中
$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);
//取回?Y料
foreach ($s_JSON_Decoded as $row)
{
foreach ($row as $rowa)
{
echo $rowa['title']."<br>";
}
}
?>
</body>
</html>
??^??蔚难菥?後
相信大家??JSON?@玩意有更深一?拥牟t解
??然JSON的??用不只是?例中那?N???
有?d趣一起研究吧






