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中,我可以通过执行fields [“ @ title”] [0]以获取标题或通过fields [“ document.content”] [0]以获取文档内容来轻松访问这些值,但是这种格式可以在json2html转换中不起作用。

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

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


任何人都可以指出我如何在json / html转换中访问那些特殊的json标签。我知道在某些情况下可以将标签更改为更标准的格式,但是如果我不能更改标签或出于某些原因需要将其保留原样怎么办?

最佳答案

json2html转换将$ {}中的字符串分割为“。”。您可以更改键以与转换兼容,例如:

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


Plunk

关于javascript - json2html如何处理json键中的特殊字符(例如@),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34769920/

10-10 19:28