gpt4 book ai didi

javascript - JSON 解析无效字符串的有效行

转载 作者:行者123 更新时间:2023-12-03 11:53:56 24 4
gpt4 key购买 nike

我需要使用 JSON.parse() 解析 json 字符串,但有时输入不是完整格式。例如:

{
"x" : "x",
"x1" : "x1",
"x2" : "x2,
"x3" :

并且解析明显中断。但在这种情况下我想“保存”有效行。

可能吗?

最佳答案

您可以执行以下操作:

String.prototype.safeParser = function(){
try{
var that=this;
return JSON.parse(this);
}
catch(err){
if(this.length<3){
return {};
}
else if(this.charAt(this.length - 1) == "}"){
that = this.substring(0, this.length - 2) + "}";
}
else{
that = this.substring(0, this.length - 1) + "}";
}
return that.safeParser();
}
}

并像 console.log(json_string.safeParser());

一样使用它

它检查字符串是否是有效的 json,如果不是,则检查它是否以大括号结尾,一次删除一个字符,直到它是有效的 json。

注意:此特定代码仅适用于带大括号的对象,不适用于带方括号的数组。然而,这可能不太难实现。

JS Fiddle Demo

(打开控制台)

关于javascript - JSON 解析无效字符串的有效行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25691527/

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