我有,我假设,是一个相对简单的外部但本地 JSON 文件,我想从中剥离数据并保存为变量以在 HTML 中使用。
会有字符串和数字,我希望从中创建列表的字符串,以及我希望用作各种 CSS 值的数字。
对象的索引之间存在关系——希望当您阅读 JSON 时会清楚这一点。
并不是说它与这个问题特别相关,但出于背景考虑,有多个 JSON 文件,所有格式都相同,用户通过导航“过滤”。
页面和数据使用 JQuery 加载,尤其是 JQuery Mobile。
所以示例 JSON 如下...</p>
{"glass" :[
{"name" : "Gin and tonic",
"ingredients" : {
"liquids" : ["Gin", "Tonic"],
"amounts" : [60, 40],
"colours" : ["f5f5f5", "666666"]
}
},
{"name" : "Tom Collins",
"ingredients" : {
"liquids" : ["Gin", "Soda"],
"amounts" : [60, 80],
"colours" : ["f5f5f5", "373737"]
}
}
]}
多亏了你们,我现在知道如何将饮料的名称与特定的对象匹配……</p>
function viewRecipe (recipeNamePassed) {
recipe = (recipeNamePassed);
//Get the JSON list and search through it for a match to the recipe name
$.getJSON(url, function(data) {
cache:false;
for (var i=0;i<data.glass.length;i++){
if (data.glass[i].name == recipe){
// do stuff
…但我似乎仍然无法创建剩余对象的列表。
换句话说,一个“液体”列表和另一个“数量”列表。
我有这样的事情发生,但它没有给我我需要的结果
var output="<ul>";
for (var i in ingredients.liquids) {
output+="<li>" + ingredients.liquids[i] + "</li>";
}
output+="</ul>";
document.getElementById("ingredientsList").innerHTML=output;
我想要的是将所有成分写入“ingredientsList”,并将“数量”和“颜色”保存为可用于更改 CSS 的变量。
您可能会说,我对这一切都很陌生,所以我非常感谢您的耐心。
在此先感谢,马特