看了就知道什么是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 相关文章推荐
js 一个关于图片onload加载的事
Nov 10 Javascript
基于jQuery创建鼠标悬停效果的方法
Mar 07 Javascript
JavaScript生成SQL查询表单的方法
Aug 13 Javascript
解决JS请求服务器gbk文件乱码的问题
Oct 16 Javascript
JavaScript实现页面跳转的几种常用方式
Nov 28 Javascript
JavaScript 计算笛卡尔积实例详解
Dec 02 Javascript
详解JavaScript中的属性和特性
Dec 08 Javascript
javascript 操作cookies详解及实例
Feb 22 Javascript
Vue 应用中结合vux使用微信 jssdk的方法
Aug 28 Javascript
VuePress 静态网站生成方法步骤
Feb 14 Javascript
详解用Webpack与Babel配置ES6开发环境
Mar 12 Javascript
vue-cli3使用mock数据的方法分析
Mar 16 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
自己动手,丰衣足食 - 短波框形天线制作
2021/03/01 无线电
细谈php中SQL注入攻击与XSS攻击
2012/06/10 PHP
简单的php缓存类分享     php缓存机制
2014/01/22 PHP
php中current、next与reset函数用法实例
2014/11/17 PHP
浅谈javascript的数据类型检测
2010/07/10 Javascript
JavaScript中setAttribute用法介绍
2013/07/20 Javascript
在JS中如何调用JSP中的变量
2014/01/22 Javascript
使用不同的方法结合/合并两个JS数组
2014/09/18 Javascript
jQuery设置指定网页元素宽度和高度的方法
2015/03/25 Javascript
js实现四舍五入完全保留两位小数的方法
2016/08/02 Javascript
json数据处理及数据绑定
2017/01/25 Javascript
js实现Tab选项卡切换效果
2020/07/17 Javascript
vue+vue-validator 表单验证功能的实现代码
2017/11/13 Javascript
在vue中使用SockJS实现webSocket通信的过程
2018/08/29 Javascript
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
2019/08/27 Javascript
[07:03]显微镜下的DOTA2第九期——430圣堂刺客杀戮秀
2014/06/20 DOTA
在Python的Flask框架中使用模版的入门教程
2015/04/20 Python
在Django的session中使用User对象的方法
2015/07/23 Python
图文讲解选择排序算法的原理及在Python中的实现
2016/05/04 Python
Python创建xml文件示例
2017/03/22 Python
Python 爬虫之超链接 url中含有中文出错及解决办法
2017/08/03 Python
Python2中文处理纪要的实现方法
2018/03/10 Python
Python实现购物车程序
2018/04/16 Python
Python3实现转换Image图片格式
2018/06/21 Python
pycham查看程序执行的时间方法
2018/11/29 Python
Python函数式编程指南:对生成器全面讲解
2019/11/19 Python
Python FFT合成波形的实例
2019/12/04 Python
python给指定csv表格中的联系人群发邮件(带附件的邮件)
2019/12/31 Python
Python自动化之UnitTest框架实战记录
2020/09/08 Python
python对批量WAV音频进行等长分割的方法实现
2020/09/25 Python
python获取命令行参数实例方法讲解
2020/11/02 Python
单位工程竣工验收方案
2014/03/16 职场文书
不错的求职信范文
2014/07/20 职场文书
工地例会施工汇报材料
2014/08/22 职场文书
2015年试用期自我评价范文
2015/03/10 职场文书
2015年办公室文员工作总结
2015/04/24 职场文书