看了就知道什么是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给onclick事件赋值,动态传参数实例解说
Mar 28 Javascript
JavaScript的模块化:封装(闭包),继承(原型) 介绍
Jul 22 Javascript
在javaScript中关于submit和button的区别介绍
Oct 20 Javascript
JQuery做的一个简单的点灯游戏分享
Jul 16 Javascript
一个实用的图片切换支持点击切换和自动轮播
Sep 09 Javascript
jquery加载图片时以淡入方式显示的方法
Jan 14 Javascript
JavaScript插件化开发教程 (一)
Jan 27 Javascript
Javascript数组中push方法用法分析
Oct 31 Javascript
vue实现移动端图片裁剪上传功能
Aug 18 Javascript
js实现移动端轮播图
Dec 21 Javascript
在layui中layer弹出层点击事件无效的解决方法
Sep 05 Javascript
layui实现图片虚拟路径上传,预览和删除的例子
Sep 25 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
实现树状结构的两种方法
2006/10/09 PHP
mysqli_set_charset和SET NAMES使用抉择及优劣分析
2013/01/13 PHP
PHP查询附近的人及其距离的实现方法
2016/05/11 PHP
PHP数据库表操作的封装类及用法实例详解
2016/07/12 PHP
php+mysql+jquery实现简易的检索自动补全提示功能
2017/04/15 PHP
php 数组元素快速去重
2017/05/05 PHP
PHP删除字符串中非字母数字字符方法总结
2019/01/20 PHP
jQuery Mobile漏洞会有跨站脚本攻击风险
2017/02/12 Javascript
JS实现一个简单的日历
2017/02/22 Javascript
从0到1搭建element后台框架优化篇(打包优化)
2019/05/12 Javascript
微信小程序把百度地图坐标转换成腾讯地图坐标过程详解
2019/07/10 Javascript
微信小程序仿抖音视频之整屏上下切换功能的实现代码
2020/05/24 Javascript
详解JavaScript 高阶函数
2020/09/14 Javascript
[08:07]DOTA2每周TOP10 精彩击杀集锦vol.8
2014/06/25 DOTA
Web服务器框架 Tornado简介
2014/07/16 Python
Python2.x中str与unicode相关问题的解决方法
2015/03/30 Python
Python自动重试HTTP连接装饰器
2015/04/28 Python
Python操作MySQL数据库9个实用实例
2015/12/11 Python
Python科学计算包numpy用法实例详解
2018/02/08 Python
详谈python中冒号与逗号的区别
2018/04/18 Python
Python中字典与恒等运算符的用法分析
2019/08/22 Python
python如何基于redis实现ip代理池
2020/01/17 Python
HTML5 FileReader对象的具体使用方法
2020/05/22 HTML / CSS
巴西网上药房:onofre
2016/11/21 全球购物
大女孩胸罩:Big Girls Bras
2016/12/15 全球购物
Fox Racing英国官网:越野摩托车和山地自行车服装
2020/02/26 全球购物
高中同学会活动方案
2014/08/14 职场文书
企业爱岗敬业演讲稿
2014/09/04 职场文书
2014年国庆晚会主持词
2014/09/19 职场文书
人身损害赔偿协议书格式
2014/11/01 职场文书
2014年教研室工作总结
2014/12/06 职场文书
二年级语文上册复习计划
2015/01/19 职场文书
总经理助理岗位职责
2015/01/31 职场文书
幼儿园辞职书
2015/02/26 职场文书
MySQL数据库中的锁、解锁以及删除事务
2022/05/06 MySQL
Redis主从复制操作和配置详情
2022/09/23 Redis