JSON与JS对象的区别与对比


Posted in Javascript onMarch 01, 2017

JSON是什么?(JSON和JavaScript对象有什么区别?)如何把JS对象转化为JSON字符串,又如何把JSON字符串转化为JavaScript对象?

JSON (JavaScript Object Notation)一种简单的数据格式,比xml更轻巧。 JSON 是 JavaScript 原生格式,这意味着在JavaScript 中处理 JSON 数据不需要任何特殊的 API 或工具包。JSON的规则很简单: 对象是一个无序的“名称/值”对集合。一个对象以“{”(左括号)开始,“}”(右括号)结束。每个“名称”后跟一个“:”(冒号);“名称/值”对之间使用“,”(逗号)分隔。

它是一种严格的js对象的格式,JSON的属性名必须有双引号,如果值是字符串,也必须是双引号;

JSON只是一种数据格式(或者叫数据形式);

<script>
var obj2={};//这只是JS对象
var obj3={width:100,height:200};/*这跟JSON就更不沾边了,只是JS的 对象 */
var obj4={'width':100,'height':200};/*这跟JSON就更不沾边了,只是JS的对象 */
var obj5={"width":100,"height":200,"name":"rose"}; /*我们可以把这个称做:JSON格式的JavaScript对象 */
var str1='{"width":100,"height":200,"name":"rose"}';/*我们可以把这个称做:JSON格式的字符串 */
var a=[
 {"width":100,"height":200,"name":"rose"},
 {"width":100,"height":200,"name":"rose"},
 {"width":100,"height":200,"name":"rose"},
 ];
 /*这个叫JSON格式的数组,是JSON的稍复杂一点的形式 */
var str2='['+
 '{"width":100,"height":200,"name":"rose"},'+
 '{"width":100,"height":200,"name":"rose"},'+
 '{"width":100,"height":200,"name":"rose"},'+
 ']' ;
 /* 这个叫稍复杂一点的JSON格式的字符串 */ 
</script>

JSON和JS对象区别对比表

区别 Json Javascript对象
含义 仅仅是一种数据格式 表示类的实例
传输 可以跨平台数据传输,速度快 不能传输
表现 1,键值对方式,键必须加双引号 2,值不能是方法函数,不能是undefined/NaN 1,键值对方式,键不加引号 2,值可以是函数、对象、字符串、数字、boolean 等
相互转换 Json转化为js对象: 1,JSON.parse(jsonstring); (不兼容ie7) 2,Jsobj=eval("("+jsonstring+")"); (兼容所有浏览器,但不安全,会执行json里面的表达式?) Js对象转换为Json: JSON.stringify(jsobj);(不兼容ie7)
其他 调用json官网的js,实现parse 和 stringify 在各个浏览器的兼容: https://github.com/douglascrockford/JSON-js/blob/master/json2.js

总而言之你可以理解为JSON是JS下的一种数据格式,他从属于JS,并且在处理JSON数据时可直接使用JS内置API

Javascript 相关文章推荐
滚动经典最新话题[prototype框架]下编写
Oct 03 Javascript
JS代码格式化和语法着色V2
Oct 14 Javascript
利用Ext Js生成动态树实例代码
Sep 08 Javascript
JavaScript 继承详解(三)
Jul 13 Javascript
Javascript学习笔记9 prototype封装继承
Jan 11 Javascript
20个最新的jQuery插件
Jan 13 Javascript
jQuery实现的在线答题功能
Apr 12 Javascript
jquery实现拖动效果
Aug 10 Javascript
前端分页功能的实现以及原理(jQuery)
Jan 22 Javascript
vue使用Axios做ajax请求详解
Jun 07 Javascript
vue实现多组关键词对应高亮显示功能
Jul 25 Javascript
React组件设计模式之组合组件应用实例分析
Apr 29 Javascript
JavaScript下拉菜单功能实例代码
Mar 01 #Javascript
Angular2 路由问题修复详解
Mar 01 #Javascript
浅谈js for循环输出i为同一值的问题
Mar 01 #Javascript
jQuery EasyUI Draggable拖动组件
Mar 01 #Javascript
Angular.js之作用域scope'@','=','&amp;'实例详解
Feb 28 #Javascript
jQuery EasyUI ProgressBar进度条组件
Feb 28 #Javascript
jQuery实现ajax无刷新分页页码控件
Feb 28 #Javascript
You might like
php框架Phpbean说明
2008/01/10 PHP
七款最流行的PHP本地服务器分享
2013/02/19 PHP
php之static静态属性与静态方法实例分析
2015/07/30 PHP
彻底搞懂PHP 变量结构体
2017/10/11 PHP
基于mootools 1.3框架下的图片滑动效果代码
2011/04/22 Javascript
js 剪切板应用clipboardData详细解析
2013/12/17 Javascript
js 通用订单代码
2013/12/23 Javascript
bootstrap table 服务器端分页例子分享
2015/02/10 Javascript
JS实现统计复选框选中个数并提示确定与取消的方法
2015/07/01 Javascript
jQuery自定义图片缩放拖拽插件imageQ实现方法(附demo源码下载)
2016/05/27 Javascript
JavaScript基础重点(必看)
2016/07/09 Javascript
nodejs连接mysql数据库简单封装示例-mysql模块
2017/04/10 NodeJs
JS中将多个逗号替换为一个逗号的实现代码
2017/06/23 Javascript
js中的事件委托或是事件代理使用详解
2017/06/23 Javascript
深入浅析Python中join 和 split详解(推荐)
2016/06/30 Python
Python实现确认字符串是否包含指定字符串的实例
2018/05/02 Python
基于python批量处理dat文件及科学计算方法详解
2018/05/08 Python
解决Pycharm无法import自己安装的第三方module问题
2018/05/18 Python
用Python一键搭建Http服务器的方法
2018/06/01 Python
Python动态赋值的陷阱知识点总结
2019/03/17 Python
详解python模块pychartdir安装及导入问题
2020/10/22 Python
关于css中margin的值和垂直外边距重叠问题
2020/10/27 HTML / CSS
美国最大的半成品净菜电商:Blue Apron(蓝围裙)
2018/04/27 全球购物
英国家居装饰品、户外家具和玻璃器皿购物网站:Rinkit.com
2019/11/04 全球购物
Napapijri西班牙在线商店:夹克、外套、运动衫等
2020/11/05 全球购物
Vrbo西班牙:预订您的度假公寓(公寓、乡村房屋…)
2020/04/27 全球购物
10条PHP编程习惯
2014/05/26 面试题
C语言50道问题
2014/10/23 面试题
市场专员岗位职责
2014/02/14 职场文书
领导干部廉政承诺书
2014/03/27 职场文书
领导工作表现评语
2015/01/04 职场文书
企业财务经理岗位职责
2015/04/08 职场文书
2015年教师节主持词
2015/07/03 职场文书
学习经验交流会演讲稿
2015/11/02 职场文书
学习杨善洲同志先进事迹心得体会
2016/01/23 职场文书
JS实现页面炫酷的时钟特效示例
2022/08/14 Javascript