JSON谜思

一、数组

特征:方括号[],如:

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的知识点,希望能帮到各位童鞋~
(完)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容