如何从JSON获取特定数据?
问题描述:
我JSON文件是这样的:如何从JSON获取特定数据?
[
{"category":"food","id":"07","name":"hey"},
{"category":"not","id":"06","name":"hey1"},
{"category":"food","id":"05","name":"hey2"},
{"category":"not","id":"04","name":"hey3"}
]
如何让所有的“名”有“类”:“食”? 我想这样,但它不能正常工作。
$.getJSON("test.json", function(data) {
var items = [];
$.each(data, function(key, val) {
if (val.category = "food"){
items.push("<li>" + val.name + "</li>");
}
});
$("<ul/>", {
"class": "my-new-list",
html: items.join("")
}).appendTo("div");
});
答
你忘了使用===
操作(可以使用==
代替,但它被认为是更好的做法是使用===
)。你写的代码将包含对象中的每个元素,因为if (val.category = "food")
将始终评估为真,并且它实际上会更改category
的值。
修复如下。
if (val.category === "food"){
items.push("<li>" + val.name + "</li>");
}