JSON.stringify()未正确将对象转换为字符串

时间:2019-07-12 21:45:20

标签: node.js mongodb mongoose

我正在使用Mongoose从Mongo DB查询文档:

    const dbObj = await User.findOne({ "_id": id});

从那里,我试图将那个对象变成一个字符串:

    const dbObjStr = JSON.stringify(dbObj);

问题:JSON.stringify无法正确将对象转换为字符串,结果如下:

    {"accreditedStatus":3,"count":39}

如何将其转换为实际的字符串?像这样:

    "{\"accreditedStatus\":3,\"count\":39}"

环境: Node.js v10.16.0, NPM 6.10.0, Mongo DB 4.0.10, 猫鼬^ 5.3.7

1 个答案:

答案 0 :(得分:2)

stringify正在工作。 dbObjStr包含一个字符串。您要查找的\"转义字符不是字符串的一部分。通过将字符串分成单字符字符串数组,您可以更清楚地观察正在发生的事情。

console.log(dbObjStr.split(''))

如果出于任何原因您希望dbObjStr包含转义字符,只需运行stringify两次:

 const dbObjStr = JSON.stringify(JSON.stringify(dbObj));