目录

🗂 JSON 笔记

JSON (JavaScript Object Notation,JavaScript 对象表示法)是一个特殊格式的字符串

  • 被任意的语言所识别,并且可以转换为任意语言中的对象;
  • JSON 存储和交换文本信息,类似 XML,比 XML 更小、更快、更易解析;

JSON 与 JavaScript 中的对象的格式一样,区别在于,JSON 中的字符串中的属性名必须使用 “” (双引号) 包裹,其他的语法与 JavaScript 一致;

# JSON 分类

# 对象 {}

var obj = {
  "name": "name",
  "age": 3,
  "gender": "male"
};

var jsonObjStr = '{
  "name": "name",
  "age": 3,
  "gender": "male"
}';
console.log(typeof jsonObjStr); // string
1
2
3
4
5
6
7
8
9
10
11
12

# 数组 []

var jsonArrStr = '[1,2,3,"hello", true]';
console.log(typeof jsonArrStr); // string
1
2

# JSON 用法

# 允许值

在 JSON 中允许的值

  • 字符串
  • 数值
  • 布尔值
  • null
  • 对象
  • 数组
// json对象可以包含json数组
var obj1 = '{"arr":[1,2,3]}';

// json数组可以包含json对象
var obj2 = '[{
  "name": "name1",
  "age": 3,
  "gender": "male"
},{
  "name": "name2",
  "age": 3,
  "gender": "male"
}]';
1
2
3
4
5
6
7
8
9
10
11
12
13

# 转换

JSON 与 JavaScript 的转换

使用 JSON.parse() 将 JSON 字符串转换为 JavaScript 中的对象,使用时需要一个 JSON 字符串作为参数,会讲字符串转换为 JavaScript 的对象并返回:

var jsonObj = JSON.parse(jsonObjStr);
console.log(typeof jsonObj); // object

var jsonArr = JSON.parse(jsonArrStr);
console.log(typeof jsonArr); // object
1
2
3
4
5

使用 JSON.stringify() 将 JavaScript 对象转换为 JSON 字符串,使用时需要一个 JavaScript 对象作为参数,会返回一个 JSON 字符串:

var obj2 = {
  "name": "name",
  "age": 3,
  "gender": "male"
};

var obj2JSONStr = JSON.stringify(obj2);
console.log(typeof obj2JSONStr); // string
console.log(obj2JSONStr);
1
2
3
4
5
6
7
8
9
📢 上次更新: 2022/09/02, 10:18:16