📅  最后修改于: 2023-12-03 15:23:10.617000             🧑  作者: Mango
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用键值对的方式存储数据。在 JavaScript 中处理 JSON 数据时,经常会出现需要转义 JSON 的情况。本文将介绍在 JavaScript 中如何转义 JSON。
JSON 转义是指将具有特殊含义的字符转为其对应的转义字符,以便在 JSON 文本中进行正确的解析和显示。在 JSON 中,以下字符需要进行转义:
在 JavaScript 中,可以使用 JSON.stringify()
方法将对象转换成 JSON 格式的字符串,该方法会自动进行转义。以下是一个简单的例子:
const data = { "name": "John Smith", "birthday": "1990-01-01" };
const jsonString = JSON.stringify(data);
console.log(jsonString); // 输出 {"name":"John Smith","birthday":"1990-01-01"}
该方法的第二个参数可以是转换选项,用于控制转换的行为。例如,可以通过设置参数 4
来指定缩进级别,以便使 JSON 格式的字符串更易于阅读。以下是一个例子:
const data = { "name": "John Smith", "birthday": "1990-01-01" };
const jsonString = JSON.stringify(data, null, 4);
console.log(jsonString);
// 输出
// {
// "name": "John Smith",
// "birthday": "1990-01-01"
// }
需要注意的是,JSON.stringify()
方法不会转义 Unicode 字符,如果希望确保字符串中的 Unicode 字符被转义,可以使用 JavaScript 中的 encodeURIComponent()
方法进行转义,例如:
const name = "J\u006fffn Smi\u0074h";
const jsonString = JSON.stringify({ "name": encodeURIComponent(name) });
console.log(jsonString); // 输出 {"name":"J%6Ffn%20Smi%74h"}
在 JavaScript 中,JSON 格式的字符串可以使用 JSON.stringify()
方法进行转义。该方法会自动将特殊字符转义为其对应的转义字符。同时,可选的转换选项可以更改字符串的输出格式。如果需要在字符串中转义 Unicode 字符,可以使用 JavaScript 中的 encodeURIComponent()
方法来处理。