xiaochaohuashengmi

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


 

分类:

技术点:

相关文章:

  • 2022-01-24
  • 2021-12-05
  • 2021-12-05
  • 2021-06-23
  • 2022-01-23
  • 2021-08-11
猜你喜欢
  • 2021-05-30
  • 2022-02-14
  • 2021-08-16
  • 2021-09-28
  • 2021-06-10
  • 2021-12-26
  • 2022-01-12
相关资源
相似解决方案