JSON进阶第一篇 在PHP与javascript 中使用JSON_PHP教程

php中文网
发布: 2016-07-13 17:48:31
原创
1128人浏览过

一.JSON简介
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。JSON的详细解释请访问JSON官网,这个网站上有图有真相,建议认真学习下。另外,JSON在维基百科上的介绍也很详细,可以访问一下。
 
二.PHP中JSON编码
在PHP中生成JSON字符串是非常容易的,直接使用json_encode()函数就可以将PHP数据转换成JSON字符串,此函数原形如下:
 
string json_encode ( mixed $value )
 
这个函数可以为任何数据进行转码,除了resource类型。
 
三.Javascript 解析JSON
有二种方法:一种是直接使用eval()函数。这种方法最快速。然而由于eval方法同样可以执行任意的JavaScript代码,因此当数据来源不可靠时则可能产生安全性问题。比如下面这个例子就会导致页面被重定向:
 
[html] view plaincopy
 
 

 
一段使用eval()解释会导致页面被重定向的JSON数据 
 
 
    
 

一段使用eval()解释会导致页面被重定向的JSON数据

 
 
 
第二种方法可以防止不安全代码出现——通过浏览器原生支持的JSON.parse(str)方法读取JSON数据, 该方法采用解析器验证读入的代码是否真的是JSON代码,这样就提供了较好的安全性。但是,由于这是用模拟的方式读取,速度上会比eval()慢。
 
四.JSON实例
下面以一个实例来解释数据是如何被编码成JSON字符串,JSON字符串又是如何在javascript中解析使用的,程序分为json1.php及json1.html。程序还要引用Smarty、JQuery及JSON库文件。
 
1.json1.php
 
[php] view plaincopy
// by MoreWindows( http://blog.csdn.net/MoreWindows ) 
require_once ('../../smarty_libs/Smarty.class.php');   
$tpl_article_array = array( 
    "001" => array( 
        "title"=>"PHP访问MySql数据库 初级篇",  
        "link"=>"http://www.BkJia.com/kf/201112/115227.html" 
    ), 
    "002" => array( 
        "title"=>"PHP访问MySql数据库 中级篇Smarty技术",  
        "link"=>"http://www.BkJia.com/kf/201112/115229.html" 
    ), 
    "003" => array( 
        "title"=>"PHP访问MySql数据库 高级篇AJAX技术",  
        "link"=>"http://www.BkJia.com/kf/201112/115230.html" 
    ), 
); 
 
$tpl_article_json = json_encode($tpl_article_array); 
$tpl = new Smarty(); 
$tpl->assign("article_array", $tpl_article_array); 
$tpl->assign("article_json", $tpl_article_json); 
$tpl->display("json1.html"); 
?> 
2.json1.html
 www.2cto.com
[html] view plaincopy
 
 
 
使用json 
 
 
 
 
 
 
{foreach $article_array as $key=>$value} 
   
 
       

{$value['title']}

 
   
     
{/foreach} 

Find JSON Path Online
Find JSON Path Online

Easily find JSON paths within JSON objects using our intuitive Json Path Finder

Find JSON Path Online 30
查看详情 Find JSON Path Online
 
 
 
运行结果如下(Win7+IE9.0):
 \
 
 
当鼠标经过三个标题时,会触发mouseenter事件显示提示语句。
 
下一篇《JSON进阶第二篇AJAX方式传递JSON数据》将介绍如何用AJAX动态请求得到JSON数据并生成标题及提示语句。
 
 
转载请标明出处,原文地址:http://blog.csdn.net/morewindows/article/details/7197971

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/478435.htmlTechArticle一.JSON简介 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。JSON采用完全独立于...
相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号