学科分类
目录
SSM框架

JSON概述

JSON(JavaScript Object Notation,JS对象标记)是一种轻量级的数据交换格式。它是基于JavaScript的一个子集,使用了C、C++、C#、Java、JavaScript、Perl、Python等其他语言的约定,采用完全独立于编程语言的文本格式来存储和表示数据。这些特性使JSON成为理想的数据交互语言,它易于阅读和编写,同时也易于机器解析和生成。

与XML一样,JSON也是基于纯文本的数据格式。初学者可以使用JSON传输一个简单的String、Number、Boolean,也可以传输一个数组或者一个复杂的Object对象。

JSON有如下两种数据结构:

1. 对象结构

对象结构以“{”开始,以“}”结束。中间部分由0个或多个以英文“,”分隔的key:value对构成(注意key和value之间以英文“:”分隔),其存储形式如图1所示。

图1 存储对象

对象结构的语法结构代码如下:

{
​    key1:value1,
​    key2:value2,
​    ...
}

其中关键字(key)必须为String类型,值(value)可以是String、Number、Object、Array等数据类型。例如,一个address对象包含城市、街道、邮编等信息,使用JSON的表示形式如下:

{"city":"Beijing","street":"Xisanqi","postcode":100096}

2. 数组结构

数组结构以“[”开始,以“]”结束。中间部分由0个或多个以英文“,”分隔的值的列表组成,其存储形式如图2所示。

图2 存储数组

数组结构的语法结构代码如下:

[
    value1,
    value2,
    ...
]

例如,一个数组包含了String、Number、Boolean、null类型数据,使用JSON的表示形式如下:

["abc",12345,false,null]

上述两种(对象、数组)数据结构也可以分别组合构成更为复杂的数据结构。例如:一个person对象包含name、hobby和address对象,其代码表现形式如下:

{
    "name": "zhangsan"
    "hobby":["篮球","羽毛球","游泳"]
    "address":{
    "city":"Beijing"
     "street":"Xisanqi"
     "postcode":100096
    }
}

需要注意的是,如果使用JSON存储单个数据(如“abc”),一定要使用数组的形式,不要使用Object形式,因为Object形式必须是“名称:值”的形式。

点击此处
隐藏目录