Node.js和node_redis - 解析对Jade模板的HGETALL响应(带缓冲区的对象)

时间:2015-03-03 03:32:26

标签: json node.js pug node-redis

我正在使用node_redis NPM模块(https://github.com/mranney/node_redis),文档说明" HGETALL返回一个带有由哈希键键入的缓冲区的对象。"

如果我将输出记录到控制台,我会得到类似的结果:

{ 'foo': '{"data":{},"config":{}}',
  'bar': '{"data":{},"config":{}}',
  'baz': '{"data":{},"config":{}}' }

注意包装每个子键的单引号。

当我将其解析为Jade模板时,我可以访问foobarbaz访问权限:

-for(var prop in all)
  li #{prop}
  li #{all[prop]}

我无法访问任何子键值,例如数据或配置。我希望能够使用all[prop].data访问这些内容。我猜测这是因为JSON的奇怪格式。我不知道"具有由哈希键键入的缓冲区的对象"意味着不知道如何处理node_redis的输出。

有人可以建议我如何访问子键值吗?我猜这个格式需要先解决。

感谢任何建议。

1 个答案:

答案 0 :(得分:0)

对于遇到此问题的其他人,我通过解析子项来解决它:

-for(var prop in all)
  #{prop}
    -var ob = JSON.parse(all[prop])

现在可以使用点表示法访问ob属性。