和一些同学一样:总是感觉json对象(其实json不是对象)和js对象的字面量表示法相同,最近学习json,真心搞不懂,js对象和json有什么区别?就是感觉json的key要用” “括起来,但是js对象的字面量表示法不需要。
  
比如:

//js对象的字面量表示法:
var people1={ name:'hehe', age:18
};
//json的格式是:
var people1={ "name":'hehe', "age":18
};

二者相同的地方是,看起来都是数据,而且恰巧又都是文本;不同的地方在于,JS字面量的文本是被脚本引擎直接解析的,而JSON的文本,如果要转化为JS对象的话,是交给eval函数来处理的,那么,如何理解JSON的文本,就取决于这个函数,而不是脚本引擎,因为这2者的处理根本就不在一个层面上。
  一直以为JSON是对象,然而在阅读js高程中出现了一些不理解的地方,网上查阅才发现JSON与JS有很大的不同。
  var obj={width:100,height:200},这样的并不叫JSON,并且JSON只是一种数据格式,并不是具体的实例对象。但很多人把这样的JS对象当成JSON。
  JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,JSON格式的数据,主要是为了跨平台交流数据用的。
  但JSON和JavaScript确实存在渊源,可以说这种数据格式是从JavaScript对象中演变出来的,它是JavaScript的一个子集。JSON本身的意思就是JavaScript对象表示法(JavaScript Object Notation),它用严格的JavaScript对象表示法来表示结构化的数据。
  它是一种严格的js对象的格式,JSON的属性名必须有双引号,如果值是字符串,也必须是双引号;
  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>


————————————————
版权声明:本文为CSDN博主「Yeoman92」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Yeoman92/article/details/54924930

JSON与JS对象的区别相关推荐

  1. JSON 与 JS 对象的区别

    JSON 概述 JSON(JavaScript Object Notation),JS 对象表示法. JSON 是 JS 对象的一种描述方式,使 JS 对象能够以文本的方式记录下来,所以 JSON 是 ...

  2. json数据和对象的区别

    json数据格式和对象的区别 1.JSON JSON 是一种语法,用来序列化对象.数组.数值.字符串.布尔值和 null . JSON是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,是理想的 ...

  3. JSON 和 JS 对象互转

    JSON 和 JS 对象互转 要实现从对象转换为 JSON 字符串,使用 JSON.stringify() 方法: var json = JSON.stringify({a: 'Hello', b: ...

  4. JSON转换为JS对象和JS对象转换为JSON

    1. JSON转换为JS对象 名称 parse 类型 执行类 参数 json: string JSON字符串 返回值 js对象 示例 parse('{"a":"abc&q ...

  5. JSON转JS对象,JS对象转JSON

    JSON转JS对象,JS对象转JSON </h1><div class="clear"></div><div class="po ...

  6. Javascript学习笔记——JSON:js对象简谱

    Javascript不仅是一种编程语言,还被作为一种常用的对象存储和传输格式 JSON:JS 对象简谱 JSON(JavaScript Object Notation)即Javascript对象简谱 ...

  7. json和JS对象转换

    json语法格式: 对象表示为键值对 数据由逗号分隔 花括号保存对象 方括号保存数据 JSON是JS对象的字符串表示法,它使用文本表示一个JS对象的信息,本质是一个字符串. var obj = {a: ...

  8. JSON与js对象序列化

    JavaScript对象表示法(JavaScript Object Notation,简称JSON)是一种轻量级的数据交换格式,它基于js字面量表示法,是js的一个子集.虽然是一个js的子集但是他与语 ...

  9. 【JQuery框架】JQuery对象和JS对象的区别和转换

    目录 jQuery的概念 jQuery快速入门 1.下载jQuery 2.导入JQuery的js文件 3.jQuery的使用 jQuery对象和JS对象区别与转换 jQuery转为js js转为jQu ...

最新文章

  1. 石大ACM2587解题报告
  2. 034_jdbc-mysql-C3P0
  3. windows系统中hosts文件位置
  4. 在VS中MFC、ATL与WIN32有什么联系或区别?
  5. 【Linux】 诊断工具-strace
  6. ios Quartz 各种绘制图形用法
  7. 怎么看服务器是实体机还是虚拟机,如何判断一台机器是物理机还是虚拟机
  8. 王国斌最新演讲!给企业家7大建议:资本从来都不是免费的
  9. java 万年历接口
  10. 计算机局域网中处理器可以共享么,局域网中怎么设置可共享主机的应用程序及CPU资源。...
  11. 【算法笔记题解】《算法笔记知识点记录》第二章——快速入门4[结构体、输入输出、复杂度和黑盒测试]
  12. EAS序时簿界面显示,不再忽略数值零
  13. Slurm的前处理prolog和后处理epilog
  14. Swift函数式编程十三(函子、适用函子、单子)
  15. gitlab修改项目名称
  16. Python3 计算空气质量指数AQI
  17. 嵌入式Linux开发环境搭建(二)
  18. MATLAB——PCM编译码实验
  19. python中的大数据品牌运营策划营销_大数据时代的品牌营销
  20. 剑灵盛世服务器位置,剑灵全新大区西洛区 1月17日盛世开启!

热门文章

  1. 【ZJOI2015】幻想乡 Wi-Fi 搭建计划【几何】【贪心】【dp】
  2. CF1183H Subsequences (hard version)
  3. Codeforces Round #760 (Div. 3)
  4. [国家集训队]middle(二分+主席树[中位数思维题])
  5. CF496E-Distributing Parts【平衡树,贪心】
  6. P3573-[POI2014]RAJ-Rally【拓扑排序,二分+树状数组】
  7. Comet OJ(Contest #8)-C符文能量【dp】
  8. P3952-时间复杂度【模拟】
  9. jzoj3914-人品问题【树形dp】
  10. codeforces Cable Connection