如何使用Nodejs在Mongo中删除JSON格式数据的斜杠?

我使用Nodejs和mongoskin将数据作为JSON格式存储在mongo表中。 Mongo自动在json格式的数据中添加斜杠。 然后当我检索,我无法parsing数据。 请build议我,我如何删除斜杠或如何parsing数据?

db.messagetable.find().forEach(printjson) { "_id" : "1861574", "MatriId" : "1861574", "session" : "{\"messages\":{\"cometchat\":{\"timedifference\":0,\"cometchat_buddytime\":0,\"msgavails\":\"\"}}}", "expires" : 1341702134 } 

这里slahses是用来逃避charatcer "在你的JSON编码的string(不是一个json对象,因为

 > JSON.parse("{messages:1}") SyntaxError: Unexpected token m at Object.parse (native) at repl:1:7 at REPLServer.eval (repl.js:80:21) at Interface.<anonymous> (repl.js:182:12) at Interface.emit (events.js:67:17) at Interface._onLine (readline.js:162:10) at Interface._line (readline.js:426:8) at Interface._ttyWrite (readline.js:603:14) at ReadStream.<anonymous> (readline.js:82:12) at ReadStream.emit (events.js:88:20) 

所以密钥必须用"代表一个string,但不能只是放在"string内。 要解决这个jsonparsing器追加\

  > JSON.parse("{\"messages\":1}") { messages: 1 } 

所以当你parsing时,只需调用会话string上的JSON.Parse

 > JSON.parse("{\"messages\":{\"cometchat\":{\"timedifference\":0,\"cometchat_buddytime\":0,\"msgavails\":\"\"}}}") { messages: { cometchat: { timedifference: 0, cometchat_buddytime: 0, msgavails: '' } } } 

斜线不在string中。 斜杠用于表示字符,如"因为"用作string的起始/结束分隔符。

如果您打印的是该console.log ,则会打印出斜线。

没有斜线。