JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/19774.html
那么,JSON到底是什么?文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/19774.html
JSON就是一串字符串 只不过元素会使用特定的符号标注。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/19774.html
{} 双括号表示对象文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/19774.html
[] 中括号表示数组文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/19774.html
"" 双引号内是属性或值文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/19774.html
: 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/19774.html
所以 {"name": "Michael"} 可以理解为是一个包含name为Michael的对象文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/19774.html
而[{"name": "Michael"},{"name": "Jerry"}]就表示包含两个对象的数组文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/19774.html
当然了,你也可以使用{"name":["Michael","Jerry"]}来简化上面一部,这是一个拥有一个name数组的对象文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/19774.html
文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/19774.html
PS:现在还有很多人存在一些误区,为什么{name:'json'}在检验时通过不了, 那是因为JSON官网最新规范规定,如果是字符串,那不管是键或值最好都用双引号引起来,所以上面的代码就是{"name":"json"}文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/19774.html
不要反驳,官网就是这么定义的。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/19774.html
对象语法
实例
JSON 对象使用在大括号({})中书写。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/19774.html
对象可以包含多个 key/value(键/值)对。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/19774.html
key 必须是字符串,value 可以是合法的 JSON 数据类型(字符串, 数字, 对象, 数组, 布尔值或 null)。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/19774.html
key 和 value 中使用冒号(:)分割。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/19774.html
每个 key/value 对使用逗号(,)分割。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/19774.html
var myObj, x; myObj = { "name":"runoob", "alexa":10000, "site":null }; x = myObj.name;