看了就知道什么是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 相关文章推荐
JavaScript 判断浏览器类型及版本
Feb 21 Javascript
$.get获取一个文件的内容示例代码
Sep 11 Javascript
js AppendChild与insertBefore用法详细对比
Dec 16 Javascript
使用百度地图api实现根据地址查询经纬度
Dec 11 Javascript
跟我学习javascript的var预解析与函数声明提升
Nov 16 Javascript
jQuery中ajax请求后台返回json数据并渲染HTML的方法
Aug 08 jQuery
Vue起步(无cli)的啊教程详解
Apr 11 Javascript
关于JS解构的5种有趣用法
Sep 05 Javascript
解决使用layui的时候form表单中的select等不能渲染的问题
Sep 18 Javascript
微信小程序 生成携带参数的二维码
Oct 23 Javascript
html实现随机点名器的示例代码
Apr 02 Javascript
JavaScript中isPrototypeOf函数
Nov 07 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中关于codeigniter的xmlrpc的类在进行数据交换时的类型问题
2011/07/03 PHP
PHP学习笔记 IIS7下安装配置php环境
2012/10/29 PHP
php中如何防止表单的重复提交
2013/08/02 PHP
php中stdClass的用法分析
2015/02/27 PHP
php实现转换ubb代码的方法
2015/06/18 PHP
php生成高清缩略图实例详解
2015/12/07 PHP
PHP实现微信图片上传到服务器的方法示例
2017/06/29 PHP
php实现根据身份证获取精准年龄
2020/02/26 PHP
jquery提示 &quot;object expected&quot;的解决方法
2009/12/13 Javascript
易操作的jQuery表单提示插件
2015/12/01 Javascript
WebSocket+node.js创建即时通信的Web聊天服务器
2016/08/08 Javascript
nodejs和php实现图片访问实时处理
2017/01/05 NodeJs
微信小程序获取用户openid的实现
2018/12/24 Javascript
关于vue的npm run dev和npm run build的区别介绍
2019/01/14 Javascript
微信小程序template模版的使用方法
2019/04/13 Javascript
使用Vue中 v-for循环列表控制按钮隐藏显示功能
2019/04/23 Javascript
Django中更新多个对象数据与删除对象的方法
2015/07/17 Python
使用Python发送各种形式的邮件的方法汇总
2015/11/09 Python
利用python爬取散文网的文章实例教程
2017/06/18 Python
python调用xlsxwriter创建xlsx的方法
2018/05/03 Python
对numpy中的数组条件筛选功能详解
2018/07/02 Python
python中ASCII码字符与int之间的转换方法
2018/07/09 Python
如何运行.ipynb文件的图文讲解
2019/06/27 Python
python3.7 使用pymssql往sqlserver插入数据的方法
2019/07/08 Python
Pytorch 定义MyDatasets实现多通道分别输入不同数据方式
2020/01/15 Python
Html5 postMessage实现跨域消息传递
2016/03/11 HTML / CSS
HTML5 播放 RTSP 视频的实例代码
2019/07/29 HTML / CSS
linux系统都有哪些运行级别
2016/03/26 面试题
销售经理工作职责范文
2013/12/03 职场文书
便利店的创业计划书
2014/01/15 职场文书
小区停车场管理制度
2014/01/27 职场文书
厨师长岗位职责
2014/03/02 职场文书
工程部主管岗位职责
2015/02/12 职场文书
怎样写辞职信
2015/02/27 职场文书
四年级数学教学反思
2016/02/16 职场文书
Nginx中使用Lua脚本与图片的缩略图处理的实现
2022/03/18 Servers