JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于前后端数据传输,常见的JSON数据格式如下:
{ "name": "Tom", "age": 18, "gender": "male", "hobbies": ["swimming", "reading"], "education": { "college": "Harvard University", "major": "Computer Science" } }
可以看到,JSON数据结构分为多层,我们如何才能有效地获取每一层的数据呢?
一层获取:
let jsonString = '{"name": "Tom", "age": 18, "gender": "male"}'; let obj = JSON.parse(jsonString); console.log(obj.name); // Tom console.log(obj.age); // 18 console.log(obj.gender); // male
在一层JSON数据中,我们可以使用JSON.parse方法将JSON字符串转为JSON对象,并通过对象的属性获取相应的值。
多层获取:
let jsonString = '{"name": "Tom", "age": 18, "hobbies": ["swimming", "reading"], "education": {"college": "Harvard University", "major": "Computer Science"}}'; let obj = JSON.parse(jsonString); console.log(obj.hobbies[0]); // swimming console.log(obj.hobbies[1]); // reading console.log(obj.education.college); // Harvard University console.log(obj.education.major); // Computer Science
在多层JSON数据中,我们可以使用对象的属性路径来获取相应层级的值。
注意事项:
- 如果JSON数据有多余的逗号或缺失引号等格式错误,将无法正确地获取数据。
- 如果数据层级结构非常深,可以先使用console.log打印对象或数组,查看每层的数据结构,再进行对应的属性或下标访问。