2016-01-11 42 views
2

我在命令行上使用鬍子將HTML對象內的<script>標記內的JSON對象嵌入到內部。使用Mustache.js嵌入原始JSON

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作爲我開始。有任何想法嗎?

+0

我最終這樣做了PHP ...這是我寫的第一個PHP腳本。 –

回答

5

有點舊,但這是我做搜索時出現的第一個問題。我在這裏找到了答案:https://stackoverflow.com/a/15580946/1961413

如果您能夠預處理數據,則可以對它進行字符串處理。這將使得它可能被嵌入的字符串:

var sampleData = JSON.stringify(sampleData); 

一旦你做到了這一點,你需要確保髭不HTMLize字符串(三人間了車把):

var reportObject = {{{.}}}; 

然後你可以訪問它在你的網頁:

alert(reportObject.report_type); 
for($data in reportObject.data){ 
    alert(JSON.stringify(reportObject.data[$data])); 
} 
+0

我有點過了能夠測試這個,但你的答案是有道理的,所以我會接受它。 –

+0

謝謝你,雖然我不會爲此擔心。這是我自己的一個便箋,而下一個人要問這個問題。 –