我使用自定义Tcl脚本从文件中读取JSON并将其返回到JavaScript脚本中。我为这个JSON编写了一个简单的转换,但是当我执行它时,我收到一个错误。有趣的是,当我粘贴相同的JSON内联时,它可以工作。我知道Tcl脚本一定存在问题,但我似乎无法弄清楚它是什么。有什么建议吗?
var datJSON = Tcl_Script_to_get_JSON;
//var datJSON = some_inline_JSON THIS WORKS!!
var trans = [
{ "tag" : "div", "id" : "reportTitle", "html" : "Report: ${Name}" }, //report title
{ //general Details, date, time, revision number
"tag" : "ul", "children" : [
{"tag" : "li", "class" : "generalDetails", "html" : "Created on : ${Date}"},
{"tag" : "li", "class" : "generalDetails", "html" : " at : ${Time}"},
{"tag" : "li", "class" : "generalDetails", "html" : "Revised for : ${RevisionNumber}"}
]
}
];
//run the JSON through the json2html transform
var output = json2html.transform(datJSON, trans);
$("#main").append(output);
答案 0 :(得分:1)
问题是JSON2HTML是在浏览器上下文之外使用的。
JSON2HTML使用JSON.parse()
来解析JSON,这是浏览器的本机函数。除此之外,我们必须使用jQuery或任何库帮助,例如$.parseJSON()
。
这就是诀窍。我应该彻底检查一下这个来源。