如何获取JSON stringify的错误消息?

时间:2016-02-25 07:03:13

标签: javascript json

假设我有一个像这样的对象

var obj = {
"name": "arun"
age
}

当我尝试这个时,JSON.stringify(obj),我将收到一个错误,因为obj不正确。我想捕获控制台中显示的错误并在UI中显示它。

stringify函数是否有回调函数,以便我可以执行上述操作?。

3 个答案:

答案 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));