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":"[email protected]","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":"[email protected]","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':'[email protected]'
  },
  '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数据的保存了。


 

你可能感兴趣的:(javascript json)