📜  从 json 中删除斜杠 - Javascript (1)

📅  最后修改于: 2023-12-03 15:36:13.865000             🧑  作者: Mango

从 JSON 中删除斜杠 - Javascript

当我们从后端获取JSON数据时,有时会包含斜杠字符,这会导致解析JSON数据失败。本文介绍如何在Javascript中从JSON数据中删除斜杠字符。

方法一:使用正则表达式替换

我们可以使用正则表达式替换斜杠字符。以下是一个示例代码片段:

const jsonString = '{"name": "John\\/Doe"}'; // 包含斜杠字符的JSON字符串
const parsedJson = JSON.parse(jsonString.replace(/\//g, "")); // 使用正则表达式替换斜杠字符
console.log(parsedJson.name); // 输出 John/Doe

在上面的代码中,使用正则表达式 /\/g 匹配所有斜杠字符,并将其替换为空字符。然后使用 JSON.parse() 将处理后的字符串转换为JSON对象。

方法二:使用JSON.parse()的reviver函数

另一种方法是使用 JSON.parse() 函数的第二个参数,即 reviver 函数。以下是示例代码片段:

const jsonString = '{"name": "John\\/Doe"}'; // 包含斜杠字符的JSON字符串
const parsedJson = JSON.parse(jsonString, (key, value) => {
  // 判断值中是否包含斜杠字符
  if (typeof value === "string" && value.includes("/")) {
    return value.replace(/\//g, ""); // 使用正则表达式替换斜杠字符
  }
  return value;
});
console.log(parsedJson.name); // 输出 John/Doe

在上述代码中,我们传递了一个reviver函数作为 JSON.parse() 的第二个参数。reviver函数将在解析JSON时对每对键值调用。在函数中,我们判断值是否包含斜杠字符,并用正则表达式将其替换为空字符。

无论哪种方法,都可以很容易地从JSON数据中删除斜杠字符。