Estou batendo minha cabeça contra um erro que não consigo descobrir como consertar. Eu tenho o seguinte;
JSON
{"products":
[
{
"product_id" : "123",
"product_data" : {
"image_id" : "1234",
"text" : "foo",
"link" : "bar",
"image_url" : "baz"
}
},{
"product_id" : "456",
"product_data" : {
"image_id" : "1234",
"text" : "foo",
"link" : "bar",
"image_url" : "baz"
}
}
]}
e o seguinte jQuery
function getData(data) {
this.productID = data.product_id;
this.productData = data.product_data;
this.imageID = data.product_data.image_id;
this.text = data.product_data.text;
this.link = data.product_data.link;
this.imageUrl = data.product_data.image_url;
}
$.getJSON("json/products.json").done(function (data) {
var allProducts = data.map(function (item) {
return new getData(item);
});
});
ainda estou recebendo um erro que map.data é indefinido como uma função? Olhando para ele, não sei o que não está funcionando, pois copiei isso para um novo projeto de um código usado anteriormente. A única coisa diferente é a fonte JSON. O anterior não tinha a {"products":
parte antes dos colchetes []. É isso que está me confundindo?