来源http://www.sojson.com/blog/19.html
这里就不说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] 。
本文主题
如果本文对你有帮助,那么请你赞助我,让我更有激情的写下去,帮助更多的人。