gpt4 book ai didi

javascript - 意外的标记 ?在 JSON 中使用 JSON.parse 的 x 位置

转载 作者:行者123 更新时间:2023-12-03 05:50:12 25 4
gpt4 key购买 nike

我正在尝试使用 JSON.parse 将字符串解析为文字对象:

var o = JSON.parse(str);

我收到此错误:

SyntaxError: Unexpected token ? in JSON at position 362
at Object.parse (native)

知道错误发生在这部分的上:

{...
"11. More Info":"http://www.mysilte.com/na5638\?lid=10064669521",
...
}

我尝试通过 JSON.parse 的回调转义 ?:

var o = JSON.parse(str,function(k,v){
return (typeof v ==='string')? v.replace('?','') : v;
});

同样的:(,不起作用..任何人都知道如何使用 JSON.parse 或任何 node.js 包来做到这一点。

最佳答案

由于您的 json 字符串不是真正的 json 字符串(但可能接近),您可能想要“修复”您在字符串。

这是一个例子:

a = '{"11. More Info":"http://www.mysilte.com/na5638\\?lid=10064669521"}'
try {
JSON.parse(a)
} catch (e) {
console.log("can't parse the string as JSON string")
}
json_obj = JSON.parse(a.replace("\\?", "?"))
console.log(json_obj)

我真的不推荐这个,你应该在解析它之前确保你得到一个正确的json字符串,但有时你无法控制你得到的输入,所以这个解决方案可能会帮助你)。

关于javascript - 意外的标记 ?在 JSON 中使用 JSON.parse 的 x 位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40187881/

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