您的位置:首页 > Web前端 > JavaScript

【01】JSON基本信息

2015-12-11 14:52 288 查看
[魔芋注] 就是一种格式,数据组合的格式。

JSON:JavaScript 对象表示法(JavaScript Object Notation)。
JSON 是存储和交换、传输(数据)文本信息的语法(格式)。类似 XML。
JSON 比 XML 更小、更快,更易解析。

JSON 通常用于服务端向网页传递数据 。和 XML 一样,JSON 也是基于纯文本的数据格式。除了字符 ",\,/ 和一些控制符(\b,\f,\n,\r,\t)需要编码外,其他 Unicode 字符可以直接输出。下图是一个 String 的完整表示结构:

什么是 JSON ?

JSON 是轻量级的文本数据交换格式

JSON 独立于语言 * 它不单单适用于JavaScript,也适用于其他语言,如php,Java。

JSON 具有自我描述性,更易理解

* JSON 使用 JavaScript 语法来描述数据对象,但是 JSON 仍然独立于语言和平台。JSON 解析器和 JSON 库支持许多不同的编程语言。* JSON 使用 JavaScript 语法,但是 JSON 格式仅仅是一个文本。文本可以被任何编程语言读取及作为数据格式传递。

实例

{


"employees":[{


"firstName":"Bill",


"lastName":"Gates"


},{


"firstName":"George",


"lastName":"Bush"


},{


"firstName":"Thomas",


"lastName":"Carter"


}]


}


这个 employee 对象是包含 3 个员工记录(对象)的数组。

JSON - 转换为 JavaScript 对象

JSON 文本格式在语法上与创建 JavaScript 对象的代码相同。

由于这种相似性,无需解析器,JavaScript 程序能够使用内建的 eval() 函数,用 JSON 数据来生成原生的 JavaScript 对象。

<html>


<body>


<h2>在JavaScript中创建 JSON 对象</h2>


<p>


Name:<span id="jname"></span><br />


Age:<span id="jage"></span><br />


Address:<span id="jstreet"></span><br />


Phone:<span id="jphone"></span><br />


</p>


<script type="text/javascript">


var JSONObject={


"name":"Bill Gates",


"street":"Fifth Avenue New York 666",


"age":56,


"phone":"555 1234567"};


document.getElementById("jname").innerHTML=JSONObject.name;


document.getElementById("jage").innerHTML=JSONObject.age;


document.getElementById("jstreet").innerHTML=JSONObject.street;


document.getElementById("jphone").innerHTML=JSONObject.phone;


</script>


</body>


</html>


结果:



类似 XML

JSON 是纯文本

JSON 具有“自我描述性”(人类可读)

JSON 具有层级结构(值中存在值)

JSON 可通过 JavaScript 进行解析

JSON 数据可使用 AJAX 进行传输

相比 XML 的不同之处

没有结束标签

更短

读写的速度更快

能够使用内建的 JavaScript eval() 方法进行解析

使用数组

不使用保留字

为什么使用 JSON?

对于 AJAX 应用程序来说,JSON 比 XML 更快更易使用:

使用 XML

读取 XML 文档

使用 XML DOM 来循环遍历文档

读取值并存储在变量中

使用 JSON

读取 JSON 字符串

用 eval() 处理 JSON 字符串

JSON 起源

第一种类型是标量(scalar),也就是一个单独的字符串(string)或数字(numbers),比如“北京”这个单独的词。

第二种类型是序列(sequence),也就是若干个相关的数据按照一定顺序并列在一起,又叫做数组(array)或列表(list),比如“北京”,“上海”。

第三种类型是映射(mapping),也就是一个名/值对(Name/value),即数据由一个名词,还有一个与之相应的值,这又称为散列(hash)或字典(dictionary),比如:“首都”:“北京”

JSON的缺点:

1,要求字符集必须是Unicode,受约束性强。
2,语法过于严谨,必须遵循JSON语法的四个原则。

相关:

XML
XML是标准通用标记语言(SGML)的子集,非常适合Web传输。
Serialize
Serialize 是一种类似于JSON的数据格式,但是PHP的serialize是将变量序列化,返回一个具有变量类型和结构的字符串表达式。

Array()
基本数据类型,不能用于数据的传输和交替。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: