我正在使用node_redis NPM模块(https://github.com/mranney/node_redis),文档说明" HGETALL返回一个带有由哈希键键入的缓冲区的对象。"
如果我将输出记录到控制台,我会得到类似的结果:
{ 'foo': '{"data":{},"config":{}}',
'bar': '{"data":{},"config":{}}',
'baz': '{"data":{},"config":{}}' }
注意包装每个子键的单引号。
当我将其解析为Jade模板时,我可以访问foo
,bar
和baz
访问权限:
-for(var prop in all)
li #{prop}
li #{all[prop]}
我无法访问任何子键值,例如数据或配置。我希望能够使用all[prop].data
访问这些内容。我猜测这是因为JSON的奇怪格式。我不知道"具有由哈希键键入的缓冲区的对象"意味着不知道如何处理node_redis的输出。
有人可以建议我如何访问子键值吗?我猜这个格式需要先解决。
感谢任何建议。
答案 0 :(得分:0)
对于遇到此问题的其他人,我通过解析子项来解决它:
-for(var prop in all)
#{prop}
-var ob = JSON.parse(all[prop])
现在可以使用点表示法访问ob属性。