JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于 ECMAScript (欧洲计算机协会制定的js规范)
的一个子集,易于人的编写和阅读,也易于机器解析。 JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C, C++, C#, Java, JavaScript, Perl, Python等)。 这些特性使JSON成为理想的数据交换语言。
1. json数据格式
1)键值对的无序集合——对象(或者叫记录、结构、字典、哈希表、有键列表或关联数组等)
2)值的有序列表——数组
对象是一个无序键值对的集合,以"{"开始,同时以"}"结束,键值对之间以":"相隔,不同的键值对之间以","相隔,举例
{
"key1" : 1,
"key2" : "string"
}
2. json对象的es5和es6写法
- es5写法
let name = '张三';
let age = 23;
let student = {
name: name,
age: gae
}
*es6写法:当键值对键和值的变量名都一样时,可以省略写成一个
let name = '张三';
let age = 23;
let student = {
name,
age
}
2. json数据转换
在一些特定情况下,在对json数据进行操作(如localstorge持久化存储json数据,打印json数据)时,需要对json数据进行转换
- 将字符串转换成json对象
JSON.parse(字符串)
//json字符串
let objStr = '{"students": {"student": [ {"id": "1","name": "张三","age": 22},{"id": "2", "name": "李四","age": 20 },{"id": "3", "name": "王五", "age": 18 }]}}'
//将json字符串解析成json对象
let objJson = JSON.parse(objStr);
console.log("objJson>>>>>>>>>>>>>",objJson);
- 将json对象转换成字符串
JSON.stringify(json对象)
// json对象
let students = {
student: [
{
id: 1,
name: '小明',
age: 10
},
{
id: 1,
name: '小红',
age: 12
},
{
id: 1,
name: '小刚',
age: 11
}
]
}
let studentStr = JSON.stringify(students);
console.log("json对象>>", students);
console.log("json字符串>>", studentStr);








网友评论