看了就知道什么是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 相关文章推荐
innerHTML与jquery里的html()区别介绍
Oct 12 Javascript
img onload事件绑定各浏览器均可执行
Dec 19 Javascript
删除条目时弹出的确认对话框
Jun 05 Javascript
jQuery获取iframe的document对象的方法
Oct 10 Javascript
AngularJs页面筛选标签小功能
Aug 01 Javascript
归纳下js面向对象的几种常见写法总结
Aug 24 Javascript
微信小程序开发之好友列表字母列表跳转对应位置
Sep 26 Javascript
javascript+html5+css3自定义弹出窗口效果
Oct 26 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
Jul 09 jQuery
卸载vue2.0并升级vue_cli3.0的实例讲解
Feb 16 Javascript
js实现车辆管理系统
Aug 26 Javascript
TypeScript中条件类型精读与实践记录
Oct 05 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提交表单失败后如何保留已经填写的信息
2014/06/20 PHP
PHP里8个鲜为人知的安全函数分析
2014/12/09 PHP
thinkphp Apache配置重启Apache1 restart 出错解决办法
2017/02/15 PHP
基于jquery实现的服务器验证控件的启用和禁用代码
2010/04/27 Javascript
JSON JQUERY模板实现说明
2010/07/03 Javascript
JQuery 应用 JQuery.groupTable.js
2010/12/15 Javascript
window.onload和$(function(){})的区别介绍
2013/10/30 Javascript
js的[defer]和[async]属性
2014/11/24 Javascript
js实现tab切换效果实例
2015/09/16 Javascript
jQuery实现checkbox列表的全选、反选功能
2016/11/24 Javascript
使用BootStrap实现悬浮窗口的效果
2016/12/13 Javascript
Vue 项目部署到服务器的问题解决方法
2017/12/05 Javascript
Laravel整合Bootstrap 4的完整方案(推荐)
2018/01/25 Javascript
Vue项目全局配置微信分享思路详解
2018/05/04 Javascript
Openlayers实现测量功能
2020/09/25 Javascript
javascript实现点击小图显示大图
2020/11/29 Javascript
Javascript中的奇葩知识,你知道吗?
2021/01/25 Javascript
[01:11]回顾历届DOTA2国际邀请赛中国区预选赛
2017/06/26 DOTA
基于python的七种经典排序算法(推荐)
2016/12/08 Python
Numpy中stack(),hstack(),vstack()函数用法介绍及实例
2018/01/09 Python
使用python和pygame绘制繁花曲线的方法
2018/02/24 Python
python pandas中DataFrame类型数据操作函数的方法
2018/04/08 Python
使用python进行拆分大文件的方法
2018/12/10 Python
python中的subprocess.Popen()使用详解
2019/12/25 Python
PyQt5 如何让界面和逻辑分离的方法
2020/03/24 Python
利用CSS3实现自定义滚动条代码分享
2016/08/18 HTML / CSS
详解css position 5种不同的值的用法
2019/07/30 HTML / CSS
芬兰灯具网上商店:Nettilamppu.fi
2018/06/30 全球购物
前台接待的工作职责
2013/11/21 职场文书
法学函授自我鉴定
2014/02/06 职场文书
护理助产毕业生的求职信
2014/03/02 职场文书
高一学生评语大全
2014/04/25 职场文书
法学院毕业生求职信
2014/06/25 职场文书
银行竞聘报告范文
2014/11/06 职场文书
OpenCV实现普通阈值
2021/11/17 Java/Android
vue中data里面的数据相互使用方式
2022/06/05 Vue.js