看了就知道什么是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 相关文章推荐
jQuery.ajax 用户登录验证代码
Oct 29 Javascript
解决Extjs上传图片无法预览的解决方法
Mar 22 Javascript
JQuery获取表格数据示例代码
May 26 Javascript
jQuery中prevUntil()方法用法实例
Jan 08 Javascript
JavaScript必知必会(十) call apply bind的用法说明
Jun 08 Javascript
浅谈json取值(对象和数组)
Jun 24 Javascript
工作中常用的js、jquery自定义扩展函数代码片段汇总
Dec 22 Javascript
JavaScript实现简单图片轮播效果
Aug 21 Javascript
vue slot 在子组件中显示父组件传递的模板
Mar 02 Javascript
js中null与空字符串&quot;&quot;的区别讲解
Jan 17 Javascript
vue cli3 调用百度翻译API翻译页面的实现示例
Sep 13 Javascript
如何用JS实现网页瀑布流布局
Apr 24 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 __autoload函数(自动载入类文件)的使用方法
2012/02/04 PHP
php批量删除数据库下指定前缀的表以prefix_为例
2014/08/24 PHP
PHP获取网站中各文章的第一张图片的代码示例
2016/05/20 PHP
PHP和MYSQL实现分页导航思路详解
2017/04/11 PHP
JS中剪贴板兼容性、判断复制成功或失败
2021/03/09 Javascript
javaScript 简单验证代码(用户名,密码,邮箱)
2009/09/28 Javascript
JavaScript 学习初步 入门教程
2010/03/25 Javascript
js以对象为索引的关联数组
2010/07/04 Javascript
日期处理的js库(迷你版)--自建js库总结
2011/11/21 Javascript
使用jquery实现图文切换效果另加特效
2013/01/20 Javascript
JS 获取select(多选下拉)中所选值的示例代码
2013/08/02 Javascript
判断window.onload是否多次使用的方法
2014/09/21 Javascript
js实现获取div坐标的方法
2015/11/16 Javascript
Vue.js组件tabs实现选项卡切换效果
2016/12/01 Javascript
Node.js利用js-xlsx处理Excel文件的方法详解
2017/07/05 Javascript
JS实现上传图片的三种方法并实现预览图片功能
2017/07/14 Javascript
vue下跨域设置的相关介绍
2017/08/26 Javascript
说说AngularJS中的$parse和$eval的用法
2017/09/14 Javascript
mockjs,json-server一起搭建前端通用的数据模拟框架教程
2017/12/18 Javascript
优化Vue项目编译文件大小的方法步骤
2019/05/27 Javascript
JavaScript动态添加数据到表单并提交的几种方式
2019/06/26 Javascript
js实现数字从零慢慢增加到指定数字示例
2019/11/07 Javascript
VUE中setTimeout和setInterval自动销毁案例
2020/09/07 Javascript
详解vue 组件的实现原理
2020/11/12 Javascript
[43:58]DOTA2上海特级锦标赛C组败者赛 Newbee VS Archon第二局
2016/02/27 DOTA
python多线程扫描端口示例
2014/01/16 Python
使用Django搭建一个基金模拟交易系统教程
2019/11/18 Python
Python SQLAlchemy库的使用方法
2020/10/13 Python
Toppik顶丰增发纤维官网:解决头发稀疏
2017/12/30 全球购物
澳大利亚购买太阳镜和眼镜网站:Glamoureyes
2020/09/22 全球购物
食品科学与工程专业毕业生求职信范文
2014/07/21 职场文书
员工安全责任书范本
2014/07/24 职场文书
工作能力自我评价2015
2015/03/05 职场文书
三严三实·严以修身心得体会
2016/01/15 职场文书
Python实现视频自动打码的示例代码
2022/04/08 Python
Win10鼠标宏怎么设置?win10系统鼠标宏的设置方法
2022/08/14 数码科技