JSON简介
JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
JSON语法
JSON是一个标记符的序列。这套标记符包含六个构造字符、字符串、数字和三个字面名。
JSON是一个序列化的对象或数组。
1. 六个构造字符:[ ] { } : ,
2.在这六个构造字符的前或后允许存在无意义的空白符
3. JSON的值
值可以是对象、数组、数字、字符串或者三个字面值(false、null、true,必须小写)中的一个
JSON对象
对象由花括号括起来的逗号分割的成员构成,
成员是字符串键和上文所述的值由逗号分割的键值对组成
{
"name": "John Doe",
"age": 18,
"address":
{
"country" : "china",
"zip-code": "10000"
}
}
JSON数组
JSON 数组在中括号中书写。
JSON 中数组值必须是合法的 JSON 数据类型
(字符串, 数字, 对象, 数组, 布尔值或 null)。
JavaScript 中,数组值可以是以上的 JSON 数据类型,
也可以是 JavaScript 的表达式,包括函数,日期,及 undefined。
[ "Google", "Runoob", "Taobao" ]
JSON转JS对象
JSON 通常用于与服务端交换数据。
在接收服务器数据时一般是字符串。
我们可以使用 JSON.parse() 方法将数据转换为 JavaScript 对象。
语法
JSON.parse(text[, reviver])
text:必需, 一个有效的 JSON 字符串。
reviver: 可选,一个转换结果的函数, 将为对象的每个成员调用此函数。
var student=
JSON.parse('{"name": "张三","age": 16,"sex": "男"}')
console.table(student)
JS转JSON对象
JSON 通常用于与服务端交换数据。
在向服务器发送数据时一般是字符串。
我们可以使用 JSON.stringify() 方法将 JavaScript 对象转换为字符串。
语法
JSON.stringify(value[, replacer[, space]])
value:
必需, 要转换的 JavaScript 值(通常为对象或数组)。
replacer:
可选。用于转换结果的函数或数组。
如果 replacer 为函数,则 JSON.stringify 将调用该函数,
并传入每个成 员的键和值。使用返回值而不是原始值。
如果此函数返回 undefined,则排除成员。
根对象的键是一个空字符串:""。
如果 replacer 是一个数组,则仅转换该数组中具有键值的成员。
成员的转 换顺序与键在数组中的顺序一样。
当 value 参数也为数组时,将忽略replacer 数组。
space:
可选,文本添加缩进、空格和换行符,如果 space 是一个数字,
则返回值文本在每个级别缩进指定数目的空格,
如果 space 大于 10,则文本缩进 10 个空格。
space 也可以使用非数字,如:\t。
var dog = {
name:'巴扎黑',
age:4,
sex:'公',
color:'#66e135'
}
var s = JSON.stringify(dog)
console.log(s)