码迷,mamicode.com
首页 > Web开发 > 详细

JSON详解

时间:2015-05-14 14:18:00      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:javascript   数据   编程语言   序列化   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 
}
]

JSON详解

标签:javascript   数据   编程语言   序列化   json   

原文地址:http://blog.csdn.net/lfcss/article/details/45719421

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!