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

Javascript 如何获取JSON stringify的错误消息?,javascript,json,Javascript,Json,假设我有一个这样的物体 var obj = { "name": "arun" age } try{ var obj = { "name": "arun", age } } catch(e){ console.log(e);// you can get error here } 当我尝试JSON.stringify(obj)时,我将收到一个错误,因为obj不正确。我想捕获控制台中显示的错误并将其显示在UI中 stringify函数是否有任何回调功能,

假设我有一个这样的物体

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

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

 } catch(e){
   console.log(e);// you can get error here
}
当我尝试JSON.stringify(obj)时,我将收到一个错误,因为obj不正确。我想捕获控制台中显示的错误并将其显示在UI中


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

您不会从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
};
在所有浏览器中,只要您运行脚本的这一部分,它就会抛出一个语法错误,因为您缺少逗号

如果您重新添加了逗号,并且上面确实存在
age

var age = 32;
var obj = {
  name: "Arun",
  age
};
这在全新浏览器中可以正常工作,但在旧浏览器中会再次抛出语法错误

该对象的旧版兼容版本如下所示:

var age = 32;
var obj = {
  name: "Arun",
  age: age
};
您遇到的问题似乎不是
.stringify
会崩溃。
根据您提供的对象,您的语句被打断,句号。

您不会从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
};
在所有浏览器中,只要您运行脚本的这一部分,它就会抛出一个语法错误,因为您缺少逗号

如果您重新添加了逗号,并且上面确实存在
age

var age = 32;
var obj = {
  name: "Arun",
  age
};
这在全新浏览器中可以正常工作,但在旧浏览器中会再次抛出语法错误

该对象的旧版兼容版本如下所示:

var age = 32;
var obj = {
  name: "Arun",
  age: age
};
您遇到的问题似乎不是
.stringify
会崩溃。
根据您提供的对象,您的语句被打断,句号。

首先认为在
之后有一个
语法错误
“name”:“arun”
您需要添加

我们无法以编程方式获取语法错误。 更正此语法错误后,可以这样检查

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

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

 } catch(e){
   console.log(e);// you can get error here
}

首先,您认为在
“name”之后有一个
语法错误
:“arun”
您需要添加

我们无法以编程方式获取语法错误。 更正此语法错误后,可以这样检查

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

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

 } catch(e){
   console.log(e);// you can get error here
}

您可以尝试以下方法:

var age = 34;
ar obj = { name: "arun", age }
console.log(JSON.stringify(obj));

您可以尝试以下方法:

var age = 34;
ar obj = { name: "arun", age }
console.log(JSON.stringify(obj));

为什么不使用try{}catch?为什么不使用try{}catch?我知道对象有错误,我想验证有错误的json对象,并在对象的第3行指出有错误。有什么方法可以做到这一点吗?@ArunMohan如果你用JavaScript声明它,它不是JSON对象<代码>变量obj={];
不是JSON,它是JS。在你试图将它放入
stringify
之前,它会爆炸。如果你将它作为JSON文本下载,那是非常不同的事情,然后你不会使用
stringify
,你会使用
parse
将字符串转换为JS对象。你的意思是什么?我知道对象是错误的y、 我想验证错误的json对象,并告诉它在对象的第3行有错误。有什么方法可以做到这一点吗?@ArunMohan如果你用JavaScript声明它不是json对象。
var obj={];
不是JSON,而是JS。在你尝试将它放入
stringify
之前,它会爆炸。如果你将它作为JSON文本下载,这是一件非常不同的事情,然后你就不会使用
stringify
,你会使用
parse
将字符串转换为JS对象。你的意思是什么?