看了就知道什么是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版
Nov 05 Javascript
解析URI与URL之间的区别与联系
Nov 22 Javascript
javascript中replace( )方法的使用
Apr 24 Javascript
jquery验证邮箱格式是否正确实例讲解
Nov 16 Javascript
Vuejs第九篇之组件作用域及props数据传递实例详解
Sep 05 Javascript
完美的js图片轮换效果
Feb 05 Javascript
使用JS 插件qrcode.js生成二维码功能
Feb 20 Javascript
Vue异步加载about组件
Oct 31 Javascript
JavaScript中click和onclick本质区别与用法分析
Jun 07 Javascript
Javascript中绑定click事件的四种方式介绍
Oct 26 Javascript
node.js实现微信开发之获取用户授权
Mar 18 Javascript
新手入门js闭包学习过程解析
Oct 08 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
全国FM电台频率大全 - 18 湖南省
2020/03/11 无线电
php实现高效获取图片尺寸的方法
2014/12/12 PHP
PHP使用GD库输出汉字的方法【测试可用】
2016/11/10 PHP
PHP+JS实现的商品秒杀倒计时用法示例
2016/11/15 PHP
PHPExcel在linux环境下导出报500错误的解决方法
2017/01/26 PHP
原生js实现fadein 和 fadeout淡入淡出效果
2014/06/05 Javascript
JavaScript跨平台的开源框架NativeScript
2015/03/24 Javascript
JavaScript中计算网页中某个元素的位置
2015/06/10 Javascript
jQuery实现滑动页面固定顶部显示(可根据显示位置消失与替换)
2015/10/28 Javascript
js自定义回调函数
2015/12/13 Javascript
Bootstrap每天必学之折叠
2016/04/12 Javascript
JS中判断字符串中出现次数最多的字符及出现的次数的简单实例
2016/06/03 Javascript
浅谈jQuery中ajaxPrefilter的应用
2016/08/01 Javascript
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
2017/01/04 Javascript
从零开始学习Node.js系列教程之设置HTTP头的方法示例
2017/04/13 Javascript
使用angular帮你实现拖拽的示例
2017/07/05 Javascript
微信小程序自定义tabBar组件开发详解
2020/09/24 Javascript
Nuxt.js之自动路由原理的实现方法
2018/11/21 Javascript
详解从react转职到vue开发的项目准备
2019/01/14 Javascript
微信小程序实现弹出菜单动画
2019/06/21 Javascript
Python实现网站注册验证码生成类
2017/06/08 Python
Python matplotlib的使用并自定义colormap的方法
2018/12/13 Python
记录Python脚本的运行日志的方法
2019/06/05 Python
Python使用configparser库读取配置文件
2020/02/22 Python
HTML5添加禁止缩放功能
2017/11/03 HTML / CSS
化学专业毕业生自荐信
2013/11/15 职场文书
工作个人的自我评价
2014/01/14 职场文书
小学英语教学反思
2014/01/30 职场文书
市场开发计划书
2014/05/07 职场文书
欢迎领导标语
2014/06/27 职场文书
关于教师节的演讲稿
2014/09/04 职场文书
天坛导游词
2015/02/02 职场文书
军训阅兵新闻稿
2015/07/17 职场文书
mysql批量新增和存储的方法实例
2021/04/07 MySQL
css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效
2021/04/29 HTML / CSS
关于python类SortedList详解
2021/09/04 Python