使用 Mustache.js 嵌入 Raw JSON
Using Mustache.js to Embed Raw JSON
我在命令行上使用 mustache 将 JSON 对象嵌入到 HTML 对象的 <script>
标签内。
cat sampleData.json | mustache - man_report.mustache > output.html
示例数据如下所示:
{"report_type":"total_by_age_group",
"data":[{"age_group":"Age 41 - 65","percent":41.04},
{"age_group":"Age Over 66","percent":19.11},
{"age_group":"Age < 18 Or Invalid Birth Date","percent":0.00},
{"age_group":"Age 18 - 25","percent":8.03},
{"age_group":"Age 26 - 40","percent":31.82}]}
这也是我希望在生成的 HTML 文件中看到的内容。
report.mustache 看起来像:
reportObject = {{data}}
output.html 看起来像这样:
reportObject = [object Object],[object Object],[object Object],[object Object],[object Object]
我只想要与开始时完全相同的 JSON。有什么想法吗?
有点老了,但这是我搜索时出现的第一个问题。我在这里找到了答案:
如果您能够预处理数据,则可以将其字符串化。这将使它成为一个可以嵌入的字符串:
var sampleData = JSON.stringify(sampleData);
完成此操作后,您需要确保 Mustache 不会将字符串 HTML 化(将把手增加三倍):
var reportObject = {{{.}}};
然后您可以在您的网页中访问它:
alert(reportObject.report_type);
for($data in reportObject.data){
alert(JSON.stringify(reportObject.data[$data]));
}
我在命令行上使用 mustache 将 JSON 对象嵌入到 HTML 对象的 <script>
标签内。
cat sampleData.json | mustache - man_report.mustache > output.html
示例数据如下所示:
{"report_type":"total_by_age_group",
"data":[{"age_group":"Age 41 - 65","percent":41.04},
{"age_group":"Age Over 66","percent":19.11},
{"age_group":"Age < 18 Or Invalid Birth Date","percent":0.00},
{"age_group":"Age 18 - 25","percent":8.03},
{"age_group":"Age 26 - 40","percent":31.82}]}
这也是我希望在生成的 HTML 文件中看到的内容。
report.mustache 看起来像:
reportObject = {{data}}
output.html 看起来像这样:
reportObject = [object Object],[object Object],[object Object],[object Object],[object Object]
我只想要与开始时完全相同的 JSON。有什么想法吗?
有点老了,但这是我搜索时出现的第一个问题。我在这里找到了答案:
如果您能够预处理数据,则可以将其字符串化。这将使它成为一个可以嵌入的字符串:
var sampleData = JSON.stringify(sampleData);
完成此操作后,您需要确保 Mustache 不会将字符串 HTML 化(将把手增加三倍):
var reportObject = {{{.}}};
然后您可以在您的网页中访问它:
alert(reportObject.report_type);
for($data in reportObject.data){
alert(JSON.stringify(reportObject.data[$data]));
}