看了就知道什么是JSON


Posted in Javascript onDecember 09, 2007

什么是JSON 
JSON(Javascript Object Notation) 是一种轻量级的数据交换格式。易于人阅读和编写。同时也易于机器解析和生成。它基于Javascript Programming Language, Standard ECMA-262 3rd Edition - December 1999的一个子集。JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, Javascript, Perl, Python等)。这些特性使JSON成为理想的数据交换语言。 
JSON概念很简单,就是服务器直接生成Javascript语句,客户端获取后直接用eval方法来获得这个对象,这样就可以省去解析XML的性损失。

使用XML表示:   

<items>    
    <item>    
        <id>1</id>    
        <author>Jackson</author>    
        <url>https://3water.com</url>    
        <content>Welcome to Web.cn</content>    
    </item>    
    <item>    
        <id>2</id>    
        <author>Relkn</author>    
        <url>https://3water.com</url>    
        <content>Web.cn关注互联网新技术</content>    
    </item>    
    <item>    
        <id>3</id>    
        <author>Kvogend</author>    
        <url>https://3water.com</url>    
    <content>3water.com三水点靠木</content>    
    </item>    
</items>
    
代码:
<items>  
    <item>  
        <id>1</id>  
        <author>Jackson</author>  
        <url>https://3water.com</url>  
        <content>Welcome to Web.cn</content>  
    </item>  
    <item>  
        <id>2</id>  
        <author>Relkn</author>  
        <url>https://3water.com</url>  
        <content>Web.cn关注互联网新技术</content>  
    </item>  
    <item>  
        <id>3</id>  
        <author>Kvogend</author>  
        <url>https://3water.com</url>  
    <content>3water.com三水点靠木</content>  
    </item>  
</items>  

使用JSON:   
{items:[     
{     
id:1,     
author:\"Jackson\",    
url:\"https://3water.com\",    
content:\"Welcome to Web.cn\"    
},    
{    
id:2,    
author:\"Relkn\",    
url:\"https://3water.com\",    
content:\"Web.cn关注互联网新技术\"    
},    
{    
id:3,    
author:\"Kvogend\",    
url:\"https://3water.com\",    
content:\"3water.com三水点靠木\"    
}     
]};    

代码:  
{items:[  
{  
id:1,  
author:\"Jackson\",  
url:\"https://3water.com\",  
content:\"Welcome to Web.cn\"  
},  
{  
id:2,  
author:\"Relkn\",  
url:\"https://3water.com\",  
content:\"Web.cn关注互联网新技术\"  
},  
{  
id:3,  
author:\"Kvogend\",  
url:\"https://3water.com\",  
content:\"3water.com三水点靠木\"  
}  
]};  

JSON不仅减少了解析XML解析带来的性能问题和兼容性问题,而且对于Javascript来说非常容易使用,可以方便的通过遍历数组以及访问对象属性来获取数据,其可读性也不错,基本具备了结构化数据的性质。不得不说是一个很好的办法,而且事实上google maps就没有采用XML传递数据,而是采用了JSON方案。

JSON的另外一个优势是"跨域性",例如你在3water.com的网页里使用

<script type="text/javascript" src="" target="_blank">http://www.yyy.com/some.js">

是完全可行的,这就意味着你可以跨域传递信息。而使用XMLHttpRequest却获取不了跨域的信息,这是Javascript内部的安全性质所限制的。

JSON能完全取代XML吗?当然不能,原因就在于XML的优势:通用性。要使服务器端产生语法合格的Javascript代码并不是很容易做到的,这主要发生在比较庞大的系统,服务器端和客户端有不同的开发人员。它们必须协商对象的格式,这很容易造成错误。

Javascript 相关文章推荐
Mootools 1.2教程 输入过滤第一部分(数字)
Sep 15 Javascript
javascript实现日历控件(年月日关闭按钮)
Dec 12 Javascript
js固定DIV高度,超出部分自动添加滚动条的简单方法
Jul 10 Javascript
Javascript获取HTML静态页面参数传递值示例
Aug 18 Javascript
将数字转换成大写的人民币表达式的js函数
Sep 21 Javascript
windows8.1+iis8.5下安装node.js开发环境
Dec 12 Javascript
vue中echarts3.0自适应的方法
Feb 26 Javascript
vue axios登录请求拦截器
Apr 02 Javascript
Javascript通过控制类名更改样式
May 24 Javascript
vue路由传参三种基本方式详解
Dec 09 Javascript
vue实现div可拖动位置也可改变盒子大小的原理
Sep 16 Javascript
JavaScript快速调试的两个技巧
Nov 04 Javascript
javascript while语句和do while语句的区别分析
Dec 08 #Javascript
js中将多个语句写成一个语句的两种方法小结
Dec 08 #Javascript
JavaScript开发时的五个注意事项
Dec 08 #Javascript
JS的递增/递减运算符和带操作的赋值运算符的等价式
Dec 08 #Javascript
javascript数组使用调用方法汇总
Dec 08 #Javascript
不间断滚动JS打包类,基本可以实现所有的滚动效果,太强了
Dec 08 #Javascript
项目实践之javascript技巧
Dec 06 #Javascript
You might like
实现树状结构的两种方法
2006/10/09 PHP
使用XDebug调试及单元测试覆盖率分析
2011/01/27 PHP
win7下memCache的安装过程(具体操作步骤)
2013/06/28 PHP
PHP扩展开发入门教程
2015/02/26 PHP
PHP邮件群发机实现代码
2016/02/16 PHP
PHP实现的登录页面信息提示功能示例
2017/07/24 PHP
PHP变量的作用范围实例讲解
2020/12/22 PHP
php中yar框架实例用法讲解
2020/12/27 PHP
Tab页界面 用jQuery及Ajax技术实现(php后台)
2011/10/12 Javascript
JS中处理与当前时间间隔的函数代码
2012/05/23 Javascript
window.onload和$(function(){})的区别介绍
2013/10/30 Javascript
jqgrid 表格数据导出实例
2013/11/21 Javascript
js实现checkbox全选和反选示例
2014/05/01 Javascript
用jquery的方法制作一个简单的导航栏
2014/06/23 Javascript
jQuery取得设置清空select选择的文本与值
2014/07/08 Javascript
JS简单编号生成器实现方法(附demo源码下载)
2016/04/05 Javascript
jquery实现无刷新验证码的简单实例
2016/05/19 Javascript
Bootstrap编写一个同时适用于PC、平板、手机的登陆页面
2016/06/30 Javascript
vue使用axios跨域请求数据问题详解
2017/10/18 Javascript
JS实现的JSON数组去重算法示例
2018/04/11 Javascript
VUE 组件转换为微信小程序组件的方法
2019/11/06 Javascript
vue自定义标签和单页面多路由的实现代码
2020/05/03 Javascript
Django中反向生成models.py的实例讲解
2018/05/30 Python
Python查看微信撤回消息代码
2018/06/07 Python
使用python修改文件并立即写回到原始位置操作(inplace读写)
2020/06/28 Python
python中round函数保留两位小数的方法
2020/12/04 Python
Clarisonic美国官网:科莱丽声波洁面仪
2017/10/12 全球购物
TCP/IP的分层模型
2013/10/27 面试题
乌鸦喝水教学反思
2014/02/07 职场文书
小学生新年寄语
2014/04/03 职场文书
委托公证书范本
2014/04/03 职场文书
大型会议策划方案
2014/05/17 职场文书
森林防火标语
2014/06/23 职场文书
小学学校门卫岗位职责
2014/08/03 职场文书
婚庆公司开业主持词
2015/06/30 职场文书
浅谈JavaScript作用域
2021/12/06 Javascript