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


 

posted on 2010-09-19 14:37  小炒花生米  阅读(5248)  评论(1编辑  收藏  举报