一、数组
特征:方括号[],如:
var arr = ["a","b","c"];
二、对象
定义: 对象是带有属性和方法的特殊数据类型,JavaScript 中所有事物(字符串、数组、函数...)都是对象。
分类:(1) 自定义对象;(2) 内建对象: Array/Math/Date;(3)浏览器宿主对象: window/document;
var Person = {name:"cc",age:"18"}; //自定义对象
var arr = new Array(); //内建Array对象
arr.length; arr.sort(); //对象属性&方法
document.getElementById("id"); //宿主对象
三、JSON对象
所谓JSON只是一种数据格式,用花括号{ }包裹,数据以 "key":"value" 键值对的形式出现,值 可以是: 字符串/数组/对象...
var Person = {"name":"cc","age":"18"}; //键要加引号!!!
如下所示,JSON对象与自定义对象相似,区别在于JSON对象的键一定要加引号!。(如果不清楚自己写的是不是JSON,可以百度在线JSON格式校验!)
四、JSON对象数组 & JSON数组对象
看到这两个名字你一定觉得有点晕了,数组对象vs对象数组,听起来充满玄机,其实按照字面意思很好理解哒:
JSON对象数组
首先,可以确定这是一个数组,因此数据格式一定是这样var arr = [ ];
,用方括号包裹起来的。
其次,数组中的内容是什么呢?没错,是JSON对象,所以应该是这样var arr = [{"key1":"value1"},{"key2":"value2"},...];
,这样是不是很好理解了呢!JSON数组对象
同理,首先它是一个对象,应该是这样var obj = {"key":"value"};
,用花括号包裹起来,数据用键值对表示。
其次,前面说过,JSON对象中值的内容可以是字符串/数组/对象...,这里我们把value的形式确定为数组,即var obj = {"key":[1,2,3]};
当然这里我们可以写的更复杂些,把普通数组替换成JSON数组,就是这样:var obj = {"key":[{"key1":"value1"},{"key2":"value2"},...]};
var arr = [{"key1":"value1"},{"key2":"value2"},...]; //JSON对象数组
var obj = {"key":[{"key1":"value1"},{"key2":"value2"},...]}; //JSON数组对象
五、JSON字符串
这个很好理解啦,就是字符串,用引号""包裹,内容是JSON对象
var str = '{"name":"cc","age":"18"}'; //JSON字符串
六、JSON对象与JSON字符串互转
- JSON.parse() —— 字符串转对象
var str = '{"name":"cc","age":"18"}';
var obj = str.JSON();
console.log(obj); //Object {name: "huangxiaojian", age: "23"}
- JSON.stringify() —— 对象转字符串
var obj = {"name":"cc","age":"18"};
var str = JSON.stringify(obj);
console.log(typeof str+str); //string {"name":"cc","age":"18"}
以上就是个人总结的一些关于JSON的知识点,希望能帮到各位童鞋~
(完)