0

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 标签。我知道在某些情况下我可以将标签更改为更标准的格式,但是如果我无法更改它们或由于某种原因它们需要保持原样怎么办?

4

1 回答 1

1

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

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

普朗克

于 2016-01-13T15:54:16.827 回答