📅  最后修改于: 2023-12-03 15:36:13.865000             🧑  作者: Mango
当我们从后端获取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 函数。以下是示例代码片段:
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数据中删除斜杠字符。