我正在尝试转换Error object为JSON.然而,Error message似乎失去了.
try{
require('someModule');
}catch(error){
console.log(JSON.stringify(error)) //{"code":"MODULE_NOT_FOUND"}
}
Run Code Online (Sandbox Code Playgroud)
我做错了什么吗?我该如何解决?
msc*_*dex 10
该问题与错误上设置的某些属性配置为不可枚举的事实有关.
您可以使用以下内容来正确地对Error对象进行字符串化,它设置了一个在转换对象时查找的toJSON()方法JSON.stringify():
var config = {
configurable: true,
value: function() {
var alt = {};
var storeKey = function(key) {
alt[key] = this[key];
};
Object.getOwnPropertyNames(this).forEach(storeKey, this);
return alt;
}
};
Object.defineProperty(Error.prototype, 'toJSON', config);
Run Code Online (Sandbox Code Playgroud)
然后就像JSON.stringify()正常一样使用.
| 归档时间: |
|
| 查看次数: |
3669 次 |
| 最近记录: |