2013-01-28 2 views
2

Я пытаюсь использовать шаблон dust.js с данными JSON, который имеет ключи, содержащие специальные символы, такие как «:» и «#».Специальные символы в файле dust.js?

Как я могу указать эти ключи в своем шаблоне?

Например:

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

dust.js шаблона:

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

Это не решает правильно и просто печатает шаблон текста вместо замены с данными JSON.

ответ

4

Проблема заключается в том, что ключи не являются действительными в dustjs.This является правилом pegjs, что мы используем для проверки ключей:

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

Это означает, что ключ действителен только если:

  • начинается с буквы, подчеркивания или $
  • остальная часть ключа является буква, символ подчеркивания, $ или тире (-)

Как вы видите, # и: являются недопустимыми символами, которые должны быть частью ключа.

Если вам нужно добавить его, вы можете открыть проблему или просто отправить запрос на вытягивание, объяснив, почему вам нужна эта функция.

Смежные вопросы