【问题标题】:Node.js and node_redis - Parsing HGETALL response to Jade template (Object with Buffers)Node.js 和 node_redis - 解析对 Jade 模板的 HGETALL 响应(带缓冲区的对象)
【发布时间】:2015-03-03 03:32:25
【问题描述】:

我正在使用 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 的输出。

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

感谢任何建议。

【问题讨论】:

    标签: json node.js pug node-redis


    【解决方案1】:

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

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

    现在可以使用点符号访问 ob 属性。

    【讨论】:

      猜你喜欢
      • 2011-12-26
      • 1970-01-01
      • 2012-04-24
      • 2012-12-05
      • 2010-10-19
      • 1970-01-01
      • 1970-01-01
      • 2018-10-10
      • 2021-08-10
      相关资源
      最近更新 更多