我有一个来自mongoose的文档,我想在JSON编码之前扩展并作为响应发送出去.如果我尝试向doc添加属性,则会被忽略.在不能Object.getOwnPropertyNames(doc)进行正常扩展时,属性不会出现.奇怪的是,它JSON.parse(JSON.encode(doc))可以工作并返回一个具有所有正确属性的对象.有一个更好的方法吗?
使用JSON.stringify()时,json2.js似乎忽略了父对象的成员.例:
require('./json2.js');
function WorldObject(type) {    
    this.position = 4;
}
function Actor(val) {
    this.someVal = 50;
}
Actor.prototype = new WorldObject();
var a = new Actor(2);
console.log(a.position);
console.log(JSON.stringify(a));
输出是:
4
{"someVal":50}
我希望这个输出:
4
{"position":0, "someVal":50}
如果这是重复的,我很抱歉,到目前为止我找不到相同的问题。
我的__proto__成员中有一个具有各种方法的对象。我们称这个对象为类型myObjectType。
后来我必须做一个JSON.stringify(myObjectType)。问题是,当我从之前获得的 JSON 字符串构建对象时,对象的类型是 plain Object,我丢失了所有的方法。
有人明白为什么吗?