我有一个javascript对象,看起来像:
var Person = function() {
var _name = "";
this.Age = 0;
Object.defineProperty(this, "Name", {
get: function () { return _name; },
set: function (value) { _name = value; }
});
}
当我使用angular.toJson函数时,它会跳过生成的json字符串中的Name属性:
{"年龄" 17}
我如何(我可以)获取angular.toJson以在JSON字符串中包含Name属性?如果我不能做到这一点,我的替代方案是什么?
答案 0 :(得分:2)
只有可枚举的属性可以序列化为JSON。默认情况下,Object.defineProperty
不会使属性可枚举。以下是如何使其可枚举。
Object.defineProperty(this, 'Name', {
enumerable: true, // <--
get: function() { return _name; },
set: function(value) { _name = value; }
});