三十年河东,三十年河西,莫欺少年穷——————《斗破苍穹》
JSON 数据模式
什么是 JSON
JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。它是基于 JavaScript Programming Language , Standard ECMA-262 3rd Edition - December 1999 的一个子集。 JSON 采用完全独立于程序语言的文本格式,但是也使用了类 C 语言的习惯(包括 C, C++, C#, Java, JavaScript, Perl, Python 等)。这些特性使 JSON 成为理想的数据交换语言。
JSON 基于两种结构:
- “名称/值”对的集合(A collection of name/value pairs)。不同的编程语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
- 值的有序列表(An ordered list of values)。在大部分语言中,它被实现为数组(array),矢量(vector),列表(list),序列(sequence)。
JSON 具有独立的文件,扩展名为“.json”。该文件中允许保存 JSON 格式的数据
注意:在 JSON 文件中编写“名称/值”对的集合时,作为“名称”的 key 必须使用双引号("")包裹。
JavaScript 与 JSON
JSON 是一种语法,用来序列化对象、数组、数值、字符串、布尔值和 null。
它是基于 JavaScript 语法,但与之不同:JavaScript 不是 JSON,JSON 也不是 JavaScript。
JavaScript 中的 JSON 的两种方式:
<script>
//JSON字符串 - 数据符合JSON格式的要求,类型是字符串类型
var jsonString = '{"name" : "张无忌"}';
//JSON对象 - JSON数据格式在JavaScript中的具体表现(对象和数组)
var jsonObject = {
name: "张无忌",
};
var jsonArr = [1, 2, 3, 4];
</script>
JSON 对象与 JSON 字符串转化
JavaScript 语言中存在 JSON 对象,该对象用于实现字符串与对象之间的转化。
提供以下两个方法:
JSON.parse()
方法:解析 JSON 字符串并返回对应的值。JSON.stringify()
方法:返回与指定值对应的 JSON 字符串。
注意:JSON 对象在旧版本的浏览器中不被支持,引入 json2.js 文件进行解决
代码:
<!-- 由于旧版本不兼容,引入json2.js就行了 -->
<script src="json2.js"></script>
<script>
//JSON字符串
var jsonString = '{"name" : "张无忌"}';
var jsonObject = JSON.parse(jsonString);
console.log(jsonObject);
var jsonResult = JSON.stringify(jsonObject);
console.log(jsonResult);
</script>
效果:
Ajax 中的 JSON
通过 Ajax 向服务器端提交异步请求时,允许使用 JSON 格式的请求数据。