我有一大堆深度嵌套的半结构化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更高级。不过,我从未真正使用过它。问题在于这些库不是很流行,因此没有很多工作可以改进它们并在它们之上建立。
从好的方面来说,它是开源的,因此,如果找不到所需的功能,则可以尝试自己添加它。