test JSON
by Alex Cowan
JavaScript
sheetIndex = 0;
sheetsFileID = '1DA6htKy-Z-8QRkifkLbzlzG2r5YWOKE77JXEJNmq45g';
var SHEETSRESPONSE = `https://docs.google.com/spreadsheets/d/${sheetsFileID}/gviz/tq?tqx=out:json&tq&gid=${sheetIndex}`
$(document).ready(function() {
$.ajax({
url: SHEETSRESPONSE,
success: function(data) {
partfeed = prepData(data);
console.log(partfeed);
}
});
});
function prepData(data) {
//response has a junk line at top (/*O_o*/), so we split it on the newline character and get the second row, [1]
data = data.split("\n");
//this is a kind of hacky solution to extracting the JSON body from the sheets response, using a regular expression to remove the stuff we don't want- OK for a proof of concept; and the HinH team is going to use Firebase for the 'production' version anyway
data = data[1].replace(/google.visualization.Query.setResponse\((.*)\);/, "$1");
if (isJson(data)) {
partfeed = JSON.parse(data);
return(partfeed);
} else {
console.log('it is not JSON- yarf')
}
}
function isJson(str) {
try {
JSON.parse(str);
} catch (e) {
return false;
}
return true;
}