PHP JSON使用
由于JSON可以在很多种程序语言中使用,所以我们可以用来做小型数据中转,如:PHP输出JSON字符串供JavaScript使用等。在PHP中可以使用json_decode()由一串规范的字符串解析出JSON对象,使用json_encode()由JSON对象生成一串规范的字符串。下面就重点介绍这两个函数:
json_decode(),字符转JSON,一般用在接收到JavaScript发送的数据时会用到,
$s='{"webname":"homehf","url":"www.homehf.com","contact":{"qq":"744348666","mail":"nieweihf@163.com","xx":"xxxxxxx"}}';
$web=json_decode($s);
echo '网站名称:'.$web->webname.'<br />网址:'.$web->url.'<br />联系方式:QQ-'.$web->contact->qq.' MAIL:'.$web->contact->mail;
?>
上面的例子中,我们首先定义了一个变量s,然后用json_decode()解析成JSON对象,之后可以按照JSON的方式去使用,从使用情况看,JSON和XML以及数组实现的功能类似,都可以存储一些相互之间存在关系的数据,但是个人觉得JSON更容易使用,且可以使用JSON和JavaScript实现数据共享。
json_encode(),JSON转字符,,这个一般在AJAX应用中,为了将JSON对象转成字符串并输出给JavaScript时会用到,而向数据库中存储时也会用到,
$s='{"webname":"homehf","url":"www.homehf.com","contact":{"qq":"744348666","mail":"nieweihf@163.com","xx":"xxxxxxx"}}';
$web=json_decode($s);
echo json_encode($web);
?>
在做AJAX应用时,JSON是经常用到的,那么JavaScript中有没有类似PHP的json_decode()函数呢?请看下文。
JavaScript JSON使用
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一个子集。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等),这些特性使JSON成为理想的数据交换语言。
在PHP中我们可以使用json_decode()和json_encode()来处理JSON对象,那么在JavaScript中呢?
1.创建JSON对象:var tst={ //创建tst,需要注意JSON的格式
'webname':'homehf',
'url':'www.homehf.com',
'contact':{
'qq':'744348666',
'mail':'nieweihf@163.com'
},
'xx':'xxxxxxx'
}
alert(tst.contact.qq); //使用JSON数据
2.将字符串转成JSON对象:var s='{"webname":"homehf","url":"www.homehf.com","qq":"744348666"}';
var tst=eval("("+s+")"); //使用eval()函数,一定要注意这里的双引号
alert(tst.contact.mail);
3.将JSON对象转成字符,如果有嵌套的话,大家也可以自己写个函数递归处理://我们使用上面创建的JSON对象
s='{';
for(var x in tst)
{
s+='"'+x+'":"'+tst[x]+'",';
}
if(s.substring(s.length-1)==',')
{
s=s.substring(0,s.length-1);
}
s+='}';
alert(s);
转成字符串后,发送到服务器端,然后保存到数据库中,这样就可以实现JSON数据的保存了。