Ich schlage meinen Kopf gegen einen Fehler, den ich nicht beheben kann. Ich habe folgendes;
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"
}
}
]}
und die folgende 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);
});
});
Ich erhalte dennoch die Fehlermeldung, dass map.data als Funktion undefiniert ist. Wenn ich es mir anschaue, weiß ich nicht, was nicht funktioniert, da ich dies aus zuvor verwendetem Code in ein neues Projekt kopiert habe. Das einzige, was anders ist, ist die JSON-Quelle. Der vorherige hatte das {"products":
Teil nicht vor den [] Klammern. Ist es das, was mich abschreckt?