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];
}
}