一.什么是JSON?
JSON全称是JavaScript Object Notation(JavaScript对象字面量),是一种存储和交换文本信息的语法,功能与XML很相似。
二.JSON的特点
1.JSON比XML更小,更快,是轻量级的文本数据交换格式。
2.JSON独立于语言,其使用Javascript语法来描述数据对象并且独立于语言和平台。
3.JSON具有自我描述性,更易理解。
三.JSON与XML的比较
相同点:
1.两者都是纯文本
2.都具有"自我描述性"(人类可读)
3.都具有层级结构(值中存在值)
不同点:
1.JSON没有结束标签,而XML必须有结束标签
2.JSON比XML更短
3.JSON比XML读写的速度更快
4.JSON可以使用数组
四.JSON的语法格式
JSON是JavaScript对象语法的子集,它完全基于JavaScript的语句结构。主要包含以下几个原则:
1.数据在名称/值对中
2.数据由逗号分隔
3.大括号保存对象
4.中括号保存数组
JSON数据的书写格式是:名称/值对。名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值,例如:
"name" : "Unity教程"
其中JSON值可以是如下的几种:
1.数字(整数或浮点数)
2.字符串(在双引号中)
3.逻辑值(true或false)
4.数组(在中括号中)
5.对象(在大括号中)
6.null
JSON数字可以是整型或者浮点型,例如:
{"age": 30}或{"pi": 3.1415}
JSON对象在大括号{}中书写,对象可以包含多个名称(key)/值(value)对,key必须是字符串,value可以是合法的JSON数据类型(字符串,数字,对象,数组,布尔值或null)。key和value中使用冒号(:)分割。每个key/value对使用逗号(,)分割。例如:
{"name": "Unity教程", "mainpage":"www.offcn.com"}
JSON 数组在中括号中书写,数组可包含多个对象,例如:
{
"players":
[
{ "name": "tom", "score": "100"},
{ "name": "kate", "score": "200"},
{ "name": "smith", "score": "300"}
]
}
在上面的例子中,对象"players"是包含三个玩家对象的数组。每个玩家对象代表一条关于某个玩家的名字以及分数信息的记录。
JSON布尔值可以是true或者false,例如:
{"flag": true}
JSON可以设置null值,例如:
{"lesson": null}
在Unity使用JSON格式来处理对象数据的标准流程: