[转载]PHP JSON使用 | JavaScript JSON使用

baacloud免费翻墙vpn注册使用

[转载]PHP JSON使用 | JavaScript JSON使用.

PHP JSON使用

由于JSON可以在很多种程序语言中使用,所以我们可以用来做小型数据中转,如:PHP输出JSON字符串供JavaScript使用等。在 PHP中可以使用json_decode()由一串规范的字符串解析出JSON对象,使用json_encode()由JSON对象生成一串规范的字符 串。下面就重点介绍这两个函数:
json_decode(),字符转JSON,一般用在接收到JavaScript发送的数据时会用到,

代码

<?php
$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.&nbsp;MAIL:.$web->contact->mail;
?>

上面的例子中,我们首先定义了一个变量s,然后用json_decode()解析成JSON对象,之后可以按照JSON的方式去使用,从使用情况 看,JSON和XML以及数组实现的功能类似,都可以存储一些相互之间存在关系的数据,但是个人觉得JSON更容易使用,且可以使用JSON和 JavaScript实现数据共享。

json_encode(),JSON转字符,,这个一般在AJAX应用中,为了将JSON对象转成字符串并输出给JavaScript时会用到,而向数据库中存储时也会用到,

<?php
$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数据的保存了。

赞(0) 打赏
分享到: 更多 (0)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏