📜  js json 转义 - Javascript (1)

📅  最后修改于: 2023-12-03 14:43:29.469000             🧑  作者: Mango

JS JSON 转义

在 JavaScript 中,JSON 格式是一种常见的数据格式。有时,我们需要转义 JSON 数据以便在其他地方使用。本文将介绍如何在 JavaScript 中进行 JSON 转义。

什么是 JSON 转义?

JSON 转义是将 JSON 数据中的特殊字符转换为它们的转义序列的过程。JSON 数据中的特殊字符包括双引号、单引号、换行符、回车符等。通过转义这些字符,我们可以确保 JSON 数据在传输过程中不会丢失任何信息。

如何进行 JSON 转义?

在 JavaScript 中进行 JSON 转义通常使用 JSON.stringify() 方法。该方法接受一个 JavaScript 对象,并返回 JSON 格式的字符串。在返回的字符串中,所有特殊字符都已经被转义。

const obj = {
  name: "John Doe",
  age: 30,
  address: "123 Main St.\nApt. 4B\nNew York, NY 10001"
};

const json = JSON.stringify(obj);

console.log(json);
// Output: {"name":"John Doe","age":30,"address":"123 Main St.\\nApt. 4B\\nNew York, NY 10001"}

在上面的示例中,我们定义了一个包含特殊字符的 JavaScript 对象,并将其传递给 JSON.stringify() 方法。返回的 JSON 字符串中,所有特殊字符都已经被转义。例如,换行符被转义为 "\\n",双引号被转义为 "\\""。

如何反转义 JSON 数据?

有时,我们需要将 JSON 数据中的转义序列转换回它们原来的字符。可以使用 JSON.parse() 方法来完成这个任务。该方法接受一个 JSON 字符串,并将其转换为 JavaScript 对象。

const json = '{"name":"John Doe","age":30,"address":"123 Main St.\\nApt. 4B\\nNew York, NY 10001"}';

const obj = JSON.parse(json);

console.log(obj);
// Output: { name: 'John Doe', age: 30, address: '123 Main St.\nApt. 4B\nNew York, NY 10001' }

在上面的示例中,我们将一个包含转义序列的 JSON 字符串传递给 JSON.parse() 方法。该方法返回一个 JavaScript 对象,并将转义序列转换为它们原来的字符。

总结

在 JavaScript 中进行 JSON 转义通常使用 JSON.stringify() 方法。该方法接受一个 JavaScript 对象,并返回一个 JSON 字符串,其中包含转义后的特殊字符。有时,我们需要将 JSON 数据中的转义序列转换回它们原来的字符。可以使用 JSON.parse() 方法来完成这个任务。