PHP头条
热点:

php处理json格式数据经典案例总结


本文实例总结了php处理json格式数据的方法。分享给大家供大家参考,具体如下:

1.json简介:

何为json?

简 单地说,JSON 可以将 JavaScript 对象中表示的一组数据转换为字符串,然后就可以在函数之间轻松地传递这个字符串,或者在异步应用程序中将字符串从 Web 客户机传递给服务器端程序.

通俗点讲,它是一种数据的存储格式,就像php序列化后的字符串一样。

它也是一种数据描述,比如:我们将一个数组序列化后存放,就可以很容易的反序列化后应用;json也是如此,只不过它搭建的是客户端javascript和服务器端php交互的桥梁。

如何使用json?

自php5.2开始及之后的版本都内置了json的支持,主要有两个函数:

json_encode():编码,生成一个json字符串
json_decode():一个解码

注意:经过json_encode()函数编码后,将返回一个json格式的字符串,如:$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';将json格式的字符串输出,将得到一个json格式的javascript对象

2.json案例一:

json_encode的使用:

<?php
$arr = array(
 'name' => '魏艳辉',
 'nick' => '为梦翱翔,
 'contact' => array(
 'email' => 'zhuoweida@163.com',
 'website' => 'http://zhuoweida.blog.tianya.cn',
 )
);
$json_string = json_encode($arr);
echo $json_string;//json格式的字符串
?>

结果:

{
   "name":"\u9648\u6bc5\u946b",
   "nick":"\u6df1\u7a7a",
   "contact":
       {
         "email":"shenkong at qq dot com",
         "website":"http:\/\/www.chinaz.com"
       }
}

提示:输出的数据本身就是json格式的js对象,因为没有带引号,所以在前台页面可以直接将其当做json对象使用

总结:关联数组是按照javascript对象来构造的

分析:上述案例很简单的将一个数组json化了,需要指出的是在非utf-8编码下,中文字符将不可被encode,结果会出来空值,所以如果你使用gb2312编码编写php代码,那么就需要将包含中文的内容使用iconv或mb系列函数转化为utf-8后在json_encode

3.json案例二:

json_decode的使用:

<?php
$arr = array(
 'name' => '魏艳辉',
 'nick' => '为梦翱翔',
 'contact' => array(
 'email' => 'zhuoweida@163.com',
 'website' => 'http://zhuoweida.blog.tianya.cn',
 )
);
$json_string = json_encode($arr);
$obj = json_decode($json_string); //可以使用$obj->name访问对象的属性
$arr=json_decode($json_string,true);//将第二个参数为true时将转化为数组
print_r($obj);
print_r($arr);
?>

结果:

{
   "name":"\u9648\u6bc5\u946b",
   "nick":"\u6df1\u7a7a",
   "contact":
       {
        "email":"shenkong at qq dot com",
        "website":"http:\/\/www.chinaz.com"
       }
}

总结:关联数组是按照JavaScript对象来构造的

提示:输出的数据本身就是json格式的js对象,因为没有带引号,所以在前台页面可以直接将其当做json对象使用

分析:编码后就要解码,php提供了相应的函数json_decode,执行此函数后,将会得到一个对象或数组。

4.json案例三:

当和前台交互的时候,json的作用就显示出来了:

例如:javascript代码如下:

相关文章

PHP之友评论

今天推荐