我正在使用JQuery json插件并尝试使用toJSON函数将自定义对象转换为JSON。这是对象:
function Customer(firstName, lastName, age) {
Customer.prototype.firstName = firstName;
Customer.prototype.lastName = lastName;
Customer.prototype.age = age;
}
这是应用的$ .toJSON:
var customer = new Customer('mohammad', 'azam', 28);
var a = $.toJSON(customer);
由于某种原因,“a”总是空的。
但如果我使用以下代码:
var params = new Object(); params.firstName ='穆罕默德'; params.lastName ='Azam'; params.age = 28;
var a = $ .toJSON(params);
然后它工作正常!
尝试在自定义对象上执行toJSON时我缺少什么。
答案 0 :(得分:2)
我没有时间对此进行测试(如果这不正确,请原谅我),但我相信通过分配:
Customer.prototype.firstName = firstName;
您正在为整个类设置静态firstName属性。
你试过了吗?
this.firstName = firstName;
这就是通常在面向对象的JS中完成的方式。
简而言之,该功能将是:
function Customer(firstName, lastName, age) {
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
}