gpt4 book ai didi

javascript - 如何对 JSON 字符串使用 string.replace() ?

转载 作者:行者123 更新时间:2023-12-02 23:55:23 28 4
gpt4 key购买 nike

我有一个正在发送无效 JSON 字符串的后端。它将垂直制表符转义为\v,这在 JSON 中无效,最终被解析器拒绝。

我正在尝试解决前端 JSON 解码器中的问题:

function fromJson(json) {
if(typeof json === "string") {
var jsonString = json.replace(/\v/g, "\u000B");
return JSON.parse(jsonString)
}
else {
return json
}
}

预期输出:新字符串,其中\v 的所有实例都替换为 unicode 行列表。

实际输出:

JSON.parse: SyntaxError: Unexpected token v in JSON at position...

最佳答案

Javascript 将 \ 字符解释为 special characters在正则表达式中。它期望 \ 之后的字符具有特殊含义,但 v 不是特殊字符之一。因此出现异常 JSON 中的意外标记 v

要解决您的问题,您需要使用另一个 \ 转义正则表达式中的 \ 字符,例如json.replace(/\\v/g, "\u000B");

关于javascript - 如何对 JSON 字符串使用 string.replace() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55417524/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com