I have no idea why my json object is returning undefined. I am not seeing anything syntactically wrong with it in my JSON tools, but I have a feeling that there must be something wrong with how I am structuring it.
I want to start making a zombie game, but the first step for me is understanding how to pass the data which I have created into the front end. This is where I have been hoping to implement ajax for class, but my console is sending me an error: “undefined”
$(document).ready(function(){
$.ajax({
url: 'dummy_json.json',
data : { load : true},
type: 'GET',
dataType: 'json',
timeout: 1000,
error: function(jqXHR, textStatus, errorThrown){
console.log("HOLY SHIT ZOMBIES!");
console.log(textStatus + " is " + errorThrown);
},
success: function(data){
$("body").append(data); // really basic append, more to come.
}
});
});
And below are the contents of the dummy_json.json file, which contains my hand written zombie quest data. I want to do this from scratch so that I can learn json very well. Eventually I will write the php that extracts this from db and converts to json for the view to consume:
{ id : 0, bulletinquest : {
items : [{
zombie0 : {
"regionoforigin" : "JKL",
"zombiename" : " - Black",
"genomeid" : "4778931",
"reward" : "100",
"imageName" : "4778931.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie1 : {
"regionoforigin" : "JKL",
"zombiename" : " - White",
"genomeid" : "4779436",
"reward" : "100",
"imageName" : "4779436.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie2 : {
"regionoforigin" : "JKL",
"zombiename" : " II - Gray",
"genomeid" : "6900326",
"reward" : "45",
"imageName" : "6900326.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie3 : {
"regionoforigin" : "JKL",
"zombiename" : " II - White",
"genomeid" : "7009803",
"reward" : "45",
"imageName" : "7009803.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie4 : {
"regionoforigin" : "JKL",
"zombiename" : " III - Red",
"genomeid" : "5715837",
"reward" : "100",
"imageName" : "5715837.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie5 : {
"regionoforigin" : "GHI",
"zombiename" : " II - Gray",
"genomeid" : "6941414",
"reward" : "45",
"imageName" : "6941414.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie6 : {
"regionoforigin" : "GHI",
"zombiename" : " II - White",
"genomeid" : "6930804",
"reward" : "45",
"imageName" : "6930804.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie7 : {
"regionoforigin" : "DEF",
"zombiename" : " - Blue",
"genomeid" : "5597904",
"reward" : "200",
"imageName" : "5597904.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie8 : {
"regionoforigin" : "DEF",
"zombiename" : " III (Slow Walker) - Blue",
"genomeid" : "5715212",
"reward" : "45",
"imageName" : "5715212.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie9 : {
"regionoforigin" : "DEF",
"zombiename" : " III (Slow Walker) - White",
"genomeid" : "5715328",
"reward" : "45",
"imageName" : "5715328.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie10 : {
"regionoforigin" : "DEF",
"zombiename" : " III (Fast Walker) - White",
"genomeid" : "6209005",
"reward" : "200",
"imageName" : "6209005.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie11 : {
"regionoforigin" : "DEF",
"zombiename" : " III (Fast Walker) - Blue",
"genomeid" : "6209286",
"reward" : "200",
"imageName" : "6209286.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie12 : {
"regionoforigin" : "DEF",
"zombiename" : " II - Gray",
"genomeid" : "6958754",
"reward" : "300",
"imageName" : "6958754.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie13 : {
"regionoforigin" : "DEF",
"zombiename" : " II - White",
"genomeid" : "6958772",
"reward" : "300",
"imageName" : "6958772.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie14 : {
"regionoforigin" : "ABC",
"zombiename" : " III - Amber Brown",
"genomeid" : "6901339",
"reward" : "45",
"imageName" : "6901339.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie15 : {
"regionoforigin" : "ABC",
"zombiename" : " III - Black",
"genomeid" : "6901302",
"reward" : "45",
"imageName" : "6901302.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie16 : {
"regionoforigin" : "ABC",
"zombiename" : " III (Slow Walker) - White",
"genomeid" : "5715328",
"reward" : "45",
"imageName" : "5715328.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie17 : {
"regionoforigin" : "ABC",
"zombiename" : " III (Slow Walker) - White",
"genomeid" : "5716681",
"reward" : "45",
"imageName" : "5716681.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie18 : {
"regionoforigin" : "ABC",
"zombiename" : " III (Slow Walker) - Blue",
"genomeid" : "5717547",
"reward" : "45",
"imageName" : "5717547.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie19 : {
"regionoforigin" : "ABC",
"zombiename" : " III (Fast Walker) - White",
"genomeid" : "5717574",
"reward" : "200",
"imageName" : "5717574.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie20 : {
"regionoforigin" : "DEF",
"zombiename" : " III (Fast Walker) - Blue",
"genomeid" : "5717583",
"reward" : "200",
"imageName" : "5717583.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
}
}],
bulletinquestType : "iHaveNoIdea",
bulletinquestAmmount : "500",
bulletinquestName : "Please help save the animal shelter from being overrun!"
}, id : 1, bulletinquest : {
name : "FROGGA FETT PROMO WILL EAT YOU",
items : [{
zombie0 : {
"regionoforigin" : "JKL",
"zombiename" : " - Black",
"genomeid" : "4778931",
"reward" : "100",
"imageName" : "4778931.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie1 : {
"regionoforigin" : "JKL",
"zombiename" : " - White",
"genomeid" : "4779436",
"reward" : "100",
"imageName" : "4779436.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie2 : {
"regionoforigin" : "JKL",
"zombiename" : " II - Gray",
"genomeid" : "6900326",
"reward" : "45",
"imageName" : "6900326.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie3 : {
"regionoforigin" : "JKL",
"zombiename" : " II - White",
"genomeid" : "7009803",
"reward" : "45",
"imageName" : "7009803.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie4 : {
"regionoforigin" : "JKL",
"zombiename" : " III - Red",
"genomeid" : "5715837",
"reward" : "100",
"imageName" : "5715837.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie5 : {
"regionoforigin" : "GHI",
"zombiename" : " II - Gray",
"genomeid" : "6941414",
"reward" : "45",
"imageName" : "6941414.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie6 : {
"regionoforigin" : "GHI",
"zombiename" : " II - White",
"genomeid" : "6930804",
"reward" : "45",
"imageName" : "6930804.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie7 : {
"regionoforigin" : "DEF",
"zombiename" : " - Blue",
"genomeid" : "5597904",
"reward" : "200",
"imageName" : "5597904.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie8 : {
"regionoforigin" : "DEF",
"zombiename" : " III (Slow Walker) - Blue",
"genomeid" : "5715212",
"reward" : "45",
"imageName" : "5715212.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie9 : {
"regionoforigin" : "DEF",
"zombiename" : " III (Slow Walker) - White",
"genomeid" : "5715328",
"reward" : "45",
"imageName" : "5715328.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie10 : {
"regionoforigin" : "DEF",
"zombiename" : " III (Fast Walker) - White",
"genomeid" : "6209005",
"reward" : "200",
"imageName" : "6209005.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie11 : {
"regionoforigin" : "DEF",
"zombiename" : " III (Fast Walker) - Blue",
"genomeid" : "6209286",
"reward" : "200",
"imageName" : "6209286.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie12 : {
"regionoforigin" : "DEF",
"zombiename" : " II - Gray",
"genomeid" : "6958754",
"reward" : "300",
"imageName" : "6958754.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie13 : {
"regionoforigin" : "DEF",
"zombiename" : " II - White",
"genomeid" : "6958772",
"reward" : "300",
"imageName" : "6958772.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie14 : {
"regionoforigin" : "ABC",
"zombiename" : " III - Amber Brown",
"genomeid" : "6901339",
"reward" : "45",
"imageName" : "6901339.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie15 : {
"regionoforigin" : "ABC",
"zombiename" : " III - Black",
"genomeid" : "6901302",
"reward" : "45",
"imageName" : "6901302.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie16 : {
"regionoforigin" : "ABC",
"zombiename" : " III (Slow Walker) - White",
"genomeid" : "5715328",
"reward" : "45",
"imageName" : "5715328.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie17 : {
"regionoforigin" : "ABC",
"zombiename" : " III (Slow Walker) - White",
"genomeid" : "5716681",
"reward" : "45",
"imageName" : "5716681.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie18 : {
"regionoforigin" : "ABC",
"zombiename" : " III (Slow Walker) - Blue",
"genomeid" : "5717547",
"reward" : "45",
"imageName" : "5717547.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie19 : {
"regionoforigin" : "ABC",
"zombiename" : " III (Fast Walker) - White",
"genomeid" : "5717574",
"reward" : "200",
"imageName" : "5717574.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
},
zombie20 : {
"regionoforigin" : "DEF",
"zombiename" : " III (Fast Walker) - Blue",
"genomeid" : "5717583",
"reward" : "200",
"imageName" : "5717583.png",
"moreinfo" : "To kill a zombie you must destroy the brain."
}
}],
bulletinquestType : "savior",
bulletinquestAmmount : "Over 9000",
bulletinquestName : "Clear the brooklyn tunnel"
}
It’s invalid JSON. You need to wrap the whole thing in square brackets to make it an array:
Note, to check if JSON is valid, there are plenty of online tools that can help (eg, JSONLint). (You’ll see there that valid JSON technically requires the keys (
id, etc) to be wrapped in double-quotes.)