ActionScript
TypeScript
JavaScript

JSON数据详解

发布时间:2017-01-10

一、什么是 JSON?

     JSON(JavaScript Object Notation)指的是 JavaScript 对象表示法,是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。 JSON使用 Javascript语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。 目前非常多的动态(PHP,JSP,.NET)编程语言都支持JSON。它易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。


二、 JSON语法规则

    JSON 语法是 JavaScript 对象表示法语法的子集。

数据在名称/值对中

数据由逗号分隔

花括号保存对象

方括号保存数组


三、JSON 名称/值对

   JSON 数据的书写格式是:名称/值对。

名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:

"name" : "LayaAir教程";

这很容易理解,等价于这条 JavaScript 语句:

name = " LayaAir教程";


四、 JSON的值

    JSON 值可以是:

数字(整数或浮点数)

字符串(在双引号中)

逻辑值(true 或 false)

数组(在方括号中)

对象(在花括号中)

null


五、JSON对象

JSON 对象在花括号中书写:

对象可以包含多个名称/值对:

{ "name":"LayaAir教程" , "url":"http://www.layabox.com/" }

这一点也容易理解,与这条 JavaScript 语句等价:

name = "LayaAir教程" url = "http://www.layabox.com/"


六、JSON 文件

JSON 文件的文件类型是 ".json"

JSON 文本的 MIME 类型是 "application/json"


七、JOSN的优势

1、基于纯文本,跨平台传递极其简单;

2、Javascript原生支持,后台语言几乎全部支持;

3、轻量级数据格式,占用字符数量极少,特别适合互联网传递;

4、可读性较强,虽然比不上XML那么一目了然,但在合理的依次缩进之后还是很容易识别的;

5、容易编写和解析,当然前提是你要知道数据结构;


  PS:说到这里可能会联想到XML。XML和JSON的大战犹如一场辩论,各说各的道理,既然是辩论,终究需要自己保持立场。但是就个人而言,更倾向于JSON,网络传输中JSON也有巨大的优势,而且在H5时代各个浏览器对XML的支持度和兼容性有待考量,解析的效率更是千差万别,对于游戏开发者来说,JSON足够。


八、 LayaAir与JSON

    LayaAir引擎几乎离不开JSON,包括图集打包存储的格式,资源的加载,编辑器组件的描述,类的导出,语言包的支持等等。