我有一个jSON数组的问题。我试图达到显示整个阵列的程度。我能够在控制台中看到它,但是当我在:
中完全相同时.replace(“{ingredients}”,d.ingredientName);
我到了未定义的地步。 我不想达到这样的目的:
.replace(“{ingredients}”,d [0] .ingredientName);
等等。
var i = '<?php echo json_encode($json) ?>';
var b = JSON.parse(i);
var c = '<?php echo json_encode($jObj) ?>';
var d = JSON.parse(c);
console.log(d);
var t = '<div class="col-lg-12">\
<h1>{name}</h1>\
<img class="col-lg-6" src="{photo}" alt="img">\
<div class="caption">\
<h4>{ingredients}</h4>\
<h4>{description}</h4>\
</div>\
</div>';
var tu = t.replace("{photo}", b[0].photo)
.replace("{name}", b[0].recipeName)
.replace("{description}", b[0].recipeDescription)
.replace("{ingredients}", d.ingredientName);
$(".pcontainer").append(tu);
这是我想要显示的json数组:
[{“ingredientName”:“milk”},{“ingredientName”:“phad thai 酱“},{”ingredientName“:”米粉“}]
答案 0 :(得分:0)
您应该使用循环将每个成分添加到新字符串中,然后用该字符串替换{ingrediens}。
例如:
var listOfIngredientsHTML = "";
for (ingredient of d) {
if (listOfIngredientsHTML.length === 0) {
listOfIngredientsHTML += "," + ingredientName
} else {
listOfIngredientsHTML += ingredientName
}
}
var tu = t.replace("{photo}", b[0].photo)
.replace("{name}", b[0].recipeName)
.replace("{description}", b[0].recipeDescription)
.replace("{ingredients}", listOfIngredients);
&#13;