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

Node.js and node_redis - Parsing HGETALL response to Jade template (Object with Buffers)

我正在使用 node_redis NPM 模块 (https://github.com/mranney/node_redis) 并且文档说明 "HGETALL returns an Object with Buffers keyed by the hash keys."

如果我将输出记录到控制台,我会得到如下内容:

{ '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 的奇怪格式。我不知道 "Object with Buffers keyed by the hash keys" 是什么意思,所以不知道如何处理 node_redis.

的输出

谁能告诉我如何访问子键值?我猜格式需要先解决。

感谢任何建议。

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

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

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