Raj*_*aja 4 mongodb node.js npm
我使用Nodejs和mongoskin将数据作为JSON格式存储在mongo表中.Mongo自动在json格式的数据中添加斜杠.然后当我检索时,我无法解析数据.请建议我,如何删除斜杠或如何解析数据?
db.messagetable.find().forEach(printjson)
{
"_id" : "1861574",
"MatriId" : "1861574",
"session" : "{\"messages\":{\"cometchat\":{\"timedifference\":0,\"cometchat_buddytime\":0,\"msgavails\":\"\"}}}",
"expires" : 1341702134
}
Run Code Online (Sandbox Code Playgroud)
slahses用于转义"JSON编码字符串中的charatcer (不是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)
Run Code Online (Sandbox Code Playgroud)
所以键必须用括号"来表示一个字符串,但你不能只是放在"字符串里面.修复json解析器附加的问题\
> JSON.parse("{\"messages\":1}")
{ messages: 1 }
Run Code Online (Sandbox Code Playgroud)
因此,当您解析时,只需调用JSON.Parse会话字符串
> JSON.parse("{\"messages\":{\"cometchat\":{\"timedifference\":0,\"cometchat_buddytime\":0,\"msgavails\":\"\"}}}")
{ messages:
{ cometchat:
{ timedifference: 0,
cometchat_buddytime: 0,
msgavails: '' } } }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6165 次 |
| 最近记录: |