JSON是一种数据格式,用于数据传输,作为一种文本类型的数据格式,JSON与具体的编程语言无关。
JS对象只是js的一种数据类型,仅存在于js当中。
一、首先,理解JSON和JS对象分别是什么概念
- JSON:
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。
eg:
var json = '[
{"name":"admin"},
{"name":"zhangsan"}
]';
2.JS对象:
任何可以被描述的都是对象,例如,一本书,一台电视,或者一个人。是由许多属性和值组成,称为键值对。
eg:
var obj = {
“name”:”jack”,
age:18,
say:function(){
Console.log(“hello”);
},
}
二、JSON的规则:
- Json数据必须是字符
- 基础格式可以参考js对象,键值对,其中JSON的键必须放在双引号里面
- 不可以出现没有意义的逗号
- 不可以出现函数,undefined,NaN,可以是null
- 不可以出现单引号
三、JSON和JS对象的转换
1.JSON如何转成JS对象:
(1)通过方法JSON.parse();
(2)参数是JSON
例子:
var obj = JSON.parse('{"a": "Hello", "b": "World"}'); //结果 是 {a: 'Hello', b: 'World'}
2.JS对象如何转成JSON:
(1)通过方法 JSON.stringify();
(2)参数是要转的对象
例子:
var json = JSON.stringify({a: 'Hello', b: 'World'}); //结果是 '{"a": "Hello", "b": "World"}'
总结:
两者的不同点:
1.含义:JSON是一种数据格式,JS对象是类的实例
2.传输:JSON可以跨平台传输,速度快,JS对象不能传输
3.表现:JSON的键必须加双引号,值不能是函数,undefined,NaN,而JS对象的键可以不加引号,值可以是函数,对象,等数据。最后,个人刚刚接触js,如果以上内容有什么不妥的地方,希望多多指导!疫情期间,逆战加油!