dust.js键中的特殊字符?

时间:2013-01-28 02:35:06

标签: json dust.js

我正在尝试使用带有JSON数据的dust.js模板,其中包含包含特殊字符的键,如“:”和“#”。

如何在模板中指定这些键?

例如:

JSON data:
{
    "opensearch:totalResults": 200,
    "#text": "some data"
}

dust.js模板:

<div>There are {opensearch:totalResults} items found</div>

这不能正确解析,只是打印模板文本而不是替换为JSON数据。

1 个答案:

答案 0 :(得分:4)

问题是密钥在dustjs中无效。这是我们用来验证密钥的pegjs规则:

key "key"
 = h:[a-zA-Z_$] t:[0-9a-zA-Z_$-]*
 { return h + t.join('') }

这意味着该密钥仅在以下情况下有效:

  • 以字母,下划线或$
  • 开头
  • 密钥的其余部分是字母,下划线,$或破折号( - )

正如您所看到的那样,#和:符号不是有效的符号。

如果您需要添加它,可以打开问题或发送拉取请求,解释您需要此功能的原因。