gpt4 book ai didi

javascript - Angular toJson 没有序列化所有属性

转载 作者:行者123 更新时间:2023-12-02 14:46:30 26 4
gpt4 key购买 nike

我有一个 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 属性?如果我做不到,我还有什么选择?

最佳答案

只有可枚举属性才能序列化为 JSON。默认情况下,Object.defineProperty不使属性可枚举。以下是如何使其可枚举。

Object.defineProperty(this, 'Name', {
enumerable: true, // <--
get: function() { return _name; },
set: function(value) { _name = value; }
});

关于javascript - Angular toJson 没有序列化所有属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36557776/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com