看了就知道什么是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 相关文章推荐
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
Oct 11 Javascript
jQuery获得内容和属性方法及示例
Dec 02 Javascript
在myeclipse中如何加入jquery代码提示功能
Jun 03 Javascript
node.js中的events.emitter.listeners方法使用说明
Dec 10 Javascript
JavaScript简单下拉菜单特效
Sep 13 Javascript
php main 与 iframe 相互通讯类(js+php同域/跨域)
Sep 14 Javascript
bootstrap table合并行数据并居中对齐效果
Oct 17 Javascript
详解vue-cli 3.0 build包太大导致首屏过长的解决方案
Nov 10 Javascript
vue权限管理系统的实现代码
Jan 17 Javascript
layer弹出框确定前验证:弹出消息框的方法(弹出两个layer)
Sep 21 Javascript
React Native中ScrollView组件轮播图与ListView渲染列表组件用法实例分析
Jan 06 Javascript
详细聊聊浏览器是如何看闭包的
Nov 11 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
CPU步进是什么意思?i3-9100F B0步进和U0步进区别知识科普
2020/03/17 数码科技
用php和MySql来与ODBC数据连接
2006/10/09 PHP
一步一步学习PHP(7) php 字符串相关应用
2010/03/05 PHP
Thinkphp模板中截取字符串函数简介
2014/06/17 PHP
ThinkPHP公共配置文件与各自项目中配置文件组合的方法
2014/11/24 PHP
php验证邮箱和ip地址最简单方法汇总
2015/10/30 PHP
ToolTips JQEURY插件之简洁小提示框效果
2011/11/19 Javascript
js获取当前日期代码适用于网页头部
2013/06/27 Javascript
js获取URL的参数的方法(getQueryString)示例
2013/09/29 Javascript
javascript中使用正则计算中文长度的例子
2014/04/29 Javascript
javascript中数组的多种定义方法和常用函数简介
2014/05/09 Javascript
Jquery 实现grid绑定模板
2015/01/28 Javascript
javascript继承的六大模式小结
2015/04/13 Javascript
javascript实现鼠标拖动改变层大小的方法
2015/04/30 Javascript
js实现滚动条滚动到某个位置便自动定位某个tr
2021/01/20 Javascript
jQuery操作dom实现弹出页面遮罩层(web端和移动端阻止遮罩层的滑动)
2016/08/25 Javascript
js 将多个对象合并成一个对象 assign方法的实现
2020/09/24 Javascript
将Python代码打包为jar软件的简单方法
2015/08/04 Python
python和shell获取文本内容的方法
2018/06/05 Python
css3的transform中scale缩放详解
2014/12/08 HTML / CSS
详解html5 canvas 微信海报分享(个人爬坑)
2018/01/12 HTML / CSS
Parfume Klik丹麦:香水网上商店
2018/07/10 全球购物
新西兰最大的连锁超市:Countdown
2020/06/04 全球购物
HSRP的含义以及如何工作
2014/09/10 面试题
编辑找工作求职信范文
2013/12/16 职场文书
办公室前台的岗位职责
2013/12/20 职场文书
大一军训感言
2014/01/09 职场文书
火车的故事教学反思
2014/02/11 职场文书
写自荐信的注意事项
2014/03/09 职场文书
工程资料员岗位职责
2014/03/10 职场文书
2014年妇幼保健工作总结
2014/12/08 职场文书
求职简历自我评价怎么写
2015/03/10 职场文书
2015年学校医务室工作总结
2015/07/20 职场文书
宝宝满月祝酒词
2015/08/10 职场文书
小学校园广播稿
2015/08/18 职场文书
礼仪培训心得体会
2016/01/22 职场文书