我有一大堆深度嵌套的半结构化JSON,并希望从中生成HTML。目前,我正在使用jQote2,但是模板中的许多代码都用于动态查找要渲染的下一个模板,然后对其进行调用。 XSLT中的单个<xsl:apply-templates>是JavaScript和jQuote的几行。我非常想念XSLT的模式匹配功能。 JavaScript中是否有任何(模板)库可让我根据数据动态决定要呈现的模板?

这是我想要的例子。假设我有一个像这样的JSON结构:

{
  items:[
   {foo:1, bar:2},
   {foo:7, baz:99},
   {foo:8, quux:3}
  ],
  curdate:'2010-07-07'
}

我想要一个“根”模板,该模板呈现curdate字段,然后呈现项目。如果项目包含“栏”字段,我希望使用名为“tpl-bar”(或类似名称)的模板渲染该项目,否则应使用名为“tpl-foo”的模板。过滤功能(例如“不渲染具有quux字段的项目”)将是不错的选择。

我知道JSONT库,但是据我所知,它不够动态,无法完成我描述的内容。

如果不存在这样的库,那么我就要自己尝试一下。但是目前我不确定该怎么做。代码示例或一般描述将对我有所帮助。

最佳答案

还有JSLT,据我记得阅读,它比JSONT更高级。不过,我从未真正使用过它。问题在于这些库不是很流行,因此没有很多工作可以改进它们并在它们之上建立。

从好的方面来说,它是开源的,因此,如果找不到所需的功能,则可以尝试自己添加它。

09-19 10:39