我正在使用自定义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);

最佳答案

问题是在浏览器上下文之外使用了JSON2HTML。

JSON2HTML使用JSON.parse()来解析JSON,这是浏览器固有的功能。除此之外,我们还必须使用jQuery或其他任何有用的库,例如$.parseJSON()

这样就可以了。我应该彻底检查来源。

10-04 15:14