json2html如何处理json键中的特殊字符(例如@)

时间:2016-01-13 14:59:37

标签: javascript jquery json json2html

RESTful API返回的JSON响应包含某些键的@符号,其他键以这种方式生成(" 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中,我可以通过字段[" @ title"] [0]轻松访问这些值来获取标题[" document.content"] [0]获取文档内容,但这种格式在json2html转换中不起作用。

例如,转换中的此代码不起作用。

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

任何人都可以指出我如何在json / html转换中访问那些特殊的json标签。我知道在某些情况下我可以将标签更改为更标准的格式,但是如果我无法更改它们或者出于某种原因需要保留它们呢?

1 个答案:

答案 0 :(得分:1)

json2html transform将$ {}内的字符串拆分为“。”。您可以更改密钥以与transform兼容,例如:

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

Plunk