看了就知道什么是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分解url参数(面向对象-极简主义法应用)
Aug 09 Javascript
js onkeypress与onkeydown 事件区别详细说明
Dec 13 Javascript
jQuery插件开发基础简单介绍
Jan 07 Javascript
JavaScript原生xmlHttp与jquery的ajax方法json数据格式实例
Dec 04 Javascript
JS实现的简单轮播图运动效果示例
Dec 22 Javascript
详解ES6 系列之异步处理实战
Oct 26 Javascript
vue 移动端适配方案详解
Nov 15 Javascript
原来JS还可以这样拆箱转换详解
Feb 01 Javascript
ES6的异步终极解决方案分享
Jul 11 Javascript
基于javascript canvas实现五子棋游戏
Jul 08 Javascript
ant-design表单处理和常用方法及自定义验证操作
Oct 27 Javascript
手把手教你如何编译打包video.js
Dec 09 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
用PHP和ACCESS写聊天室(十)
2006/10/09 PHP
深入php函数file_get_contents超时处理的方法详解
2013/06/03 PHP
PHP实现的登录页面信息提示功能示例
2017/07/24 PHP
页面装载js及性能分析方法介绍
2014/03/21 Javascript
jQuery三级下拉列表导航菜单代码分享
2020/04/15 Javascript
JS实现单击输入框弹出选择框效果完整实例
2015/12/14 Javascript
深入浅析javascript中的作用域(推荐)
2016/07/19 Javascript
Vue.js 2.0 移动端拍照压缩图片预览及上传实例
2017/04/27 Javascript
详解如何在 vue 项目里正确地引用 jquery 和 jquery-ui的插件
2017/06/01 jQuery
微信小程序自定义导航隐藏和显示功能
2017/06/13 Javascript
详解A标签中href=&quot;&quot;的几种用法
2017/08/20 Javascript
Angular如何在应用初始化时运行代码详解
2018/06/11 Javascript
JavaScript 监听组合按键思路及代码实现
2020/07/28 Javascript
vue 里面的 $forceUpdate() 强制实例重新渲染操作
2020/09/21 Javascript
Python排序搜索基本算法之选择排序实例分析
2017/12/09 Python
python调用摄像头显示图像的实例
2018/08/03 Python
python清除字符串前后空格函数的方法
2018/10/21 Python
dpn网络的pytorch实现方式
2020/01/14 Python
python给图像加上mask,并提取mask区域实例
2020/01/19 Python
Python如何基于Tesseract实现识别文字功能
2020/06/05 Python
Python面向对象多态实现原理及代码实例
2020/09/16 Python
Python 随机按键模拟2小时
2020/12/30 Python
canvas绘制图片drawImage使用方法
2020/09/15 HTML / CSS
Mixbook加拿大:照片书,照片卡,剪贴簿,年历和日历
2017/02/21 全球购物
DataList 能否分页,请问如何实现?
2015/05/03 面试题
经管应届生求职信范文
2014/05/18 职场文书
2014年秋季开学典礼致辞
2014/08/02 职场文书
2014大学辅导员工作总结
2014/12/02 职场文书
2015商场元旦促销活动策划方案
2014/12/09 职场文书
安全员岗位职责
2015/02/10 职场文书
2015年护士节慰问信
2015/03/23 职场文书
2016年高校自主招生自荐信范文
2015/03/24 职场文书
2015年科协工作总结
2015/05/19 职场文书
2015年个人实习工作总结
2015/05/28 职场文书
家庭贫困证明
2015/06/16 职场文书
python实战之90行代码写个猜数字游戏
2021/04/22 Python