这里就不说JSON是什么了。如果还不知道JSON是什么,先看下面几篇文章。

JSON非常易学易用。所以,在短短几年中,它就取代XML,成为了互联网上最受欢迎的数据交换格式。

1.为什么有JSON的出现。

JSON作为一种简易的传输数据格式,当然也可以用JSON来表示一些事务。

我们在日常的编程中应该能感觉到,有Object(对象) 和 Array(数组)数据格式,就完全够了,就能存储和传输任意需求。然而我们的JSON就包含了这基本的Object和 Array。

2.JSON格式{

"name": "SOJSON",
"age": "27",
"sex": "男",
"skill": [
"Java",
"IOS",
"Android"
]
}

上面运用了Object 和 Array。{

"skill": [
"Java",
"IOS",
"Android"
]
}

可以看作是序列(sequence),就是连续的表达方式。{

"name": "SOJSON"

}

可以看作是映射(mapping),以键值对的方式表达方式。

3.JSON的取值

键值对Demo,如:var data = {"name": "SOJSON"};

取到name的值。那么就是 data.name 即可,或者 data["name"]。

可能大多数人知道data.name的方式取值,但是 data["name"] 的方式知道的稍微少一点,以至于如果这个JSON是这样 {"1":"2"} 怎么取值呢?

可能有人说 data.1 ?

我告诉你绝对报错,所以有的人为了逃避这个问题,会采用这种命名方式, {"id1":"2"},也就是取值的时候,在前面加上一个字符串,也就可以 data.id1 取值了,这是正确的,其实没必要。 data["1"] 如果你知道这样可以,你还那样去存储吗?

数组Demo,如 var data = {"skill": [ "Java", "IOS", "Android" ]};

首先它外面是一个键值对,只不过Value值是一个数组,那么我们要取到Java怎么取呢?

这样:data.skill[1] ;

是不是so easy ? ?

ps:总结起来就是那么简单,遇到 “{” 就 “.” ,你看data.name、data.skill 。是不是,只不过数值类你得注意点,然后遇到“[” 你就当数组处理,下标去取,或者循环,去取,data.skill[1] 。