假设我有一个像这样的对象
var obj = {
"name": "arun"
age
}
当我尝试这个时,JSON.stringify(obj),我将收到一个错误,因为obj不正确。我想捕获控制台中显示的错误并在UI中显示它。
stringify函数是否有回调函数,以便我可以执行上述操作?。
答案 0 :(得分:2)
首先想一下syntax error
,"name": "arun"
之后需要添加,
我们无法以编程方式获取语法错误。 纠正此语法错误后,您可以像这样检查
try{
var obj = {
"name": "arun",
age
}
} catch(e){
console.log(e);// you can get error here
}
答案 1 :(得分:0)
你不会从JSON.stringify那里得到错误。
只要您尝试制作此对象,就会出现错误。
var obj = {
name: "Arun" // you're missing a comma
age //this is valid, as long as `age` exists as a variable above this point, in new browsers
};
在所有浏览器中,只要您运行脚本的这一部分,它就会抛出一个SyntaxError,因为您错过了逗号。
如果您重新添加逗号,并且age
确实存在于上方:
var age = 32;
var obj = {
name: "Arun",
age
};
现在可以在全新的浏览器中正常使用,但会在旧浏览器中再次抛出SyntaxError。
该对象的旧版兼容版本如下所示:
var age = 32;
var obj = {
name: "Arun",
age: age
};
您遇到的问题似乎并不是.stringify
会破坏。
根据您提供的对象,您的陈述会被破坏,期限。
答案 2 :(得分:0)
您可以尝试以下方式:
var age = 34;
ar obj = { name: "arun", age }
console.log(JSON.stringify(obj));