我正在使用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
答案 0 :(得分:2)
stringify
正在工作。 dbObjStr
包含一个字符串。您要查找的\"
转义字符不是字符串的一部分。通过将字符串分成单字符字符串数组,您可以更清楚地观察正在发生的事情。
console.log(dbObjStr.split(''))
如果出于任何原因您希望dbObjStr
包含转义字符,只需运行stringify
两次:
const dbObjStr = JSON.stringify(JSON.stringify(dbObj));