JSON详解

一直对json的用法迷迷糊糊,知道一些简单的用法,有时用起来很容易把自己搞混,今天专门查了一下相关的JSON的资料及用法,总结记录下来。

JSON并不是一种编程语言,可以理解成它是一种数据格式,虽然具有相同的语法形式,但是JSON并不属于JavaScript。而且,并不是所有的JavaScript才使用JSON,很多编程语言都有针对JSON的解析器和序列化器。

JSON的语法可以表示三种类型值:
1.简单值:使用与JavaScript相同的语法,可以在JSON中表示字符串、数值、布尔值和null,但是JSON不支持JavaScript中的特殊值undefied。
最简单的JSON数据形式就是简单值,如:10 “Hello”
JavaScript字符串与JSON字符串的最大区别在于,JSON字符串必须使用双引号,因为单引号会导致语法错误。
布尔值和null也是有效的JSON形式,但是,在实际应用中,JSON更多地用来表示更复杂的数据结构,而简单值只是整个数据结构中的一部分。

2.对象

JSON中的对象与JavaScript字面量有点区别。

//JavaScript对象字面量

var person = {
 name:"Nack",
 age:29
};

//JSON对象表示方式
{
   "name":"Nack",
   "age":29 
}

与JavaScript的对象字面量相比,JSON对象有两个地方不一样。首先,没声明变量;其次,没有末尾的分号,JSON对象的属性必须加双引号,属性值可以是简单的也可以复杂。

{
  "name":"Nack",
  "age":29,
  "school":{
    "name":"Zhengzhou "
}
}

name属性属于两个不同的对象,对此没有啥影响。与JavaScript不同,JSON中对象的属

性名任何时候都必须带双引号。

  1. JSON数组

name属性属于两个不同的对象,对此没有啥影响。与JavaScript不同,JSON中对象的属性名任何时候都必须带双引号。

//JavaScript数组字面量
var values = [25,"hh",true];

在JSON中,可以采用同样的语法表示同一个数组:

[25,"hh",true]
JSON数组也没有变量和分号。把数组和对象结合起来,可以构成复杂的数据组合

[
 {
   "name":"Nack",
   "age":29 
},
{
   "name":"Lee",
   "age":21 
}
]

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。