json2html как работать со специальными символами (например, @) в ключах json

Ответ JSON, возвращаемый API RESTful, содержит символ @ для некоторых ключей, а другие ключи создаются таким образом ("document.title").

Мой кусок JSON выглядит следующим образом.

"fields": {
  "document.content_type": [
    "application/ms-word"
  ],
  "document.name": [
    "zh1.docx"
  ],
  "@title": [
    "The History of the Pencil"
  ],
  "@date": [
    "2016-01-13T07:30:25-0500"
  ],
  "document.content": [
    "some text goes here"
  ],
  "@guid": [
    "76c99131-23b1-4435-9b93-eaabd9e33a67"
  ]
}

В обычном JavaScript/jQuery я легко могу получить доступ к этим значениям, выполнив fields["@title"][0] для получения заголовка или fields["document.content"][0] для получения содержимого документа, но этот формат делает не работает в преобразовании json2html.

Например, этот код в преобразовании не работает.

{"tag":"h4","html":"${fields['document.name'].0}"}

Кто-нибудь может указать мне, как я могу в преобразовании json / html получить доступ к этим специальным тегам json. Я знаю, что в некоторых случаях я могу изменить теги, чтобы они были в более стандартном формате, но что, если я не могу изменить их или по какой-то причине они должны оставаться как таковые?

1 ответ

Решение

Преобразование json2html разбивает строку внутри ${} на ".". Вы можете изменить ключи, чтобы они были совместимы с преобразованием, например:

for(var k in data.fields){
  if(k.match(/\./)){
    data.fields[k.replace(/\./g, '_')] = data.fields[k];
  }
}

шлепнуть

Другие вопросы по тегам