我正在使用具有rest API的第三方数据库。当我打电话时,我得到一个错误(我在我的情况下期待):
transaction.commit(function(err) {
if (err){
var par = JSON.parse(err); \\ returns error: SyntaxError: Unexpected token E in JSON at position 0
console.log(JSON.stringify(err));
console.log(err);
console.log('' + err);
//First console.log return: {"code":409,"metadata":{"_internal_repr":{}}}
//Second console.log return: { Error: entity already exists: app: "s~myapp"<br/>path <<br/> Element {<br/> type: "v"<br/> name: "bob@gmail.com"<br/> }<br/>><br/>
//Third console.log returns: Error: entity already exists: app: "s~myapp"<br/>path <<br/> Element {<br/> type: "v"<br/> name: "bob@gmail.com"<br/> }<br/>><br/>
}
{);
我需要提取错误字段和类型字段。我试图解析JSON然后去par.error或par.type来获取变量,但我无法解析对象因为我收到错误。
答案 0 :(得分:1)
答案 1 :(得分:0)
根据您的结果,您获得的err
参数似乎已经是对象而不是JSON字符串,因此您根本不需要解析它。
你应该可以毫无问题地获得err.code
。
你确实提到你需要获取错误类型 - 但这似乎根本不在该对象中(这就是为什么你在尝试时得到undefined
的原因。
但是,通过使用err.Error
,您应该能够获取错误字符串。
如果您不确定对象有哪些数据,可以尝试以下操作:
console.dir(err)
- 这可以让您更好地了解err
对象包含的内容。err
对象中查看。