Мне был предоставлен этот код раньше, но мне сложно провести синтаксический анализ правильных данных.разбор конкретных значений в JSON для ajax
У меня есть следующие JSON
{ flavors: [{"image":"images/bbtv.jpg", "desc":"BioBusiness.TV", "id":"1"},{"image":"images/grow.jpg", "desc":"Grow Staffing", "id":"2"}]}
и я хочу, чтобы показывать только идентификатор: 1 или идентификатор: 2.
У меня есть следующий код для Ajax
$.ajax({
type: "POST",
url: "foodservice/all.js",
dataType: "json",
cache: false,
data: {"flavors": filterId(flavors, 'a')},
contentType: "application/json",
success: function(data) {
$('#flavor-detail').html("<div/>");
$.each(data.flavors, function(i,item){
$('#flavor-detail div').append('<ul><li><p>' + item.desc + '</p></li></ul>');
});
}
});
и следующую функцию для фильтрации через объект JSON
function filterId(obj, filteredId) {
var resultObj = $.extend({},obj);
for (var i in obj) {
if (obj.hasOwnProperty(i)) {
if (obj[i].id && obj[i].id !== filteredId) {
delete obj[i];
}
}
}
return resultObj;
}
Однако этот код не возвращает ничего. Может ли кто-нибудь сказать мне, что мне не хватает?
Im довольно новый для JSON, Ajax, поэтому любая помощь будет принята с благодарностью.
Спасибо!
, который отлично подходит для разбора простых данных, но если бы я хотел сказать, например, есть id1 show id1 и id2 show id2, какой был бы лучший подход? Кстати, спасибо за ваш ответ :) –
Ну, я не совсем понимаю, где вы используете эту функцию «фильтр», или как вы ее называете. Это не выглядит неправильно, но я не думаю, что я сделаю это именно так; Я бы с большей вероятностью имел функцию, которая просто находила элементы с требуемыми значениями «id», а затем создавала новый объект для их сбора. – Pointy
О, подождите; простите, я должен быть слепым - теперь я вижу функцию. Позвольте мне подумать минутку. – Pointy