JSON 数据交换格式
json是一种轻量级的数据交换格式,由道格拉斯·克罗克福特发明(创建)。它使得人们方便阅读和编写。
json 基于两种数据结构
- 名称/值(key / value) 对的集合。不同的编程语言中,它被理解为对象(object),纪录(record),结构(struct),字典(dictionary),哈希表(hash table),有键列表(keyed list),或者关联数组 (associative array)。
- 值的有序列表。在大部分语言中,它被实现为数组(array),矢量(vector),列表(list),序列(sequence)。
json的集中数据类型
值(value) 可以是双引号括起来的字符串(string)、数值(number)、true、false、 null、对象(object)或者数组(array)。这些结构可以嵌套。
- object 对象
- array 数组
- string 字符串
- number 数值
-
boolean 布尔值
true 和 false
-
null 空指针(值)
null
json 与 javascript对象之间的转化
-
序列化(js对象 - -> json格式字符串)
JSON.stringify(jsObj)
JSON.stringify(jsObj, null, " ")
JSON.stringify(jsObj, params , " ")
params: 用于控制如何筛选对象的键值. Array [...] / function () { } -
反序列化( json格式字符串 - -> js 对象)
JSON.parse(json)
JSON.parse(json, function () { 转换解析出的属性 })
javascript 的eval() 函数:eval("("+ json + ")")
注:- eval() 函数可编译并执行任何 JavaScript 代码。这隐藏了一个潜在的安全问题。
- JSON 解析器只能识别 JSON 文本,而不会编译脚本。