JS对象和JSON的区别

JS对象和JSON的区别

最近学习javascript过程中,一直傻傻分不清JS对象的字面量写法和JSON数据,网上查了很多,在此记录一下。

JSON

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,JSON格式的数据,主要是为了跨平台交流数据用的。
JSON数据格式,其实就是一种规范,格式、形式、规范是不能用来存诸数据的。

var teacher1={ 
    "name":"pink老师", 
    "age":18 
}; 
console.log(teacher1.name) 

1.JSON的属性名必须有双引号,如果值是字符串,也必须是双引号。
2.值不能是方法函数,undefined,NaN

JS对象

JavaScript 对象是拥有属性和方法的数据。

var teacher2={ 
    name:'pink老师', 
    age:18,
    show(){
    	alert('Hello World!')
    }
}; 

1.JS对象的属性名不使用双引号。
2.值可以是函数,字符串,数字等等。


       二者相同的地方是,看起来都是数据,而且恰巧又都是文本,都是通过键值对的方式存储,都可以使用点号来调用;不同的地方在于,JS字面量的文本是被脚本引擎直接解析的,而JSON的文本,如果要转化为JS对象的话,是交给eval函数来处理的,那么,如何理解JSON的文本,就取决于这个函数,而不是脚本引擎,因为这2者的处理根本就不在一个层面上。


区别 JSON JS对象
含义 仅仅是一种数据格式 表示类的实例
表现 1.键值对方式,键必须加双引号
2.值不能是方法函数,不能是undefined/NaN
1.键值对方式,键不加引号
2.值可以是函数、对象、字符串、数字、boolean 等
相互转换 Json转换Js对象
1.JSON.parse(JsonStr);(不兼容IE7)
2.eval("("+jsonStr+")");(兼容所有浏览器,但不安全,会执行json里面的表达式)
js对象转换Json
JSON.stringify(jsObj);
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值