Last active
December 7, 2018 15:45
-
-
Save thisdavej/c587208b54dad8ab802439a98742a4c5 to your computer and use it in GitHub Desktop.
A modified version of the JSONTEMPLATE function from my post (https://thisdavej.com/consuming-json-web-data-using-google-sheets/) for Umar's JSON object
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* Parse JSON and render the results in a string template. | |
* | |
* @param {"http://path/to/myapi"} url | |
* JSON API data URL | |
* @param {"This is {{item1}}."} template | |
* string template for rendering results | |
* @customfunction | |
*/ | |
function JSONTEMPLATE_UMAR(url, template) { | |
url = encodeURI(url); | |
var response = UrlFetchApp.fetch(url); | |
var obj = JSON.parse(response.getContentText()); | |
if (!Array.isArray(obj)) { | |
obj = [obj]; | |
} | |
// Handle for the shape of Umar's JSON object returned (as shown in mydata.json file in this gist) | |
var result = obj[0].result; | |
return result.map(function (row) { | |
return template.replace(/\{\{\s*(.*?)\s*\}\}/g, function (match, varName) { | |
return row[varName]; | |
}); | |
}); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[ | |
{ | |
"result": [ | |
{ | |
"sg_event_id": "92-OndRfTs6fZjNdHWzLBw", | |
"timestamp": 1529618395, | |
"url": "https://noname.com?utm_campaign=website&utm_source=sendgrid.com&utm_medium=email", | |
"ip": "192.168.1.1", | |
"event": "click" | |
}, | |
{ | |
"sg_event_id": "bjMlfsSfRyuXEVy8LndsYA", | |
"timestamp": 1529618349, | |
"url": "https://noname.com?utm_campaign=website&utm_source=sendgrid.com&utm_medium=email", | |
"ip": "192.168.1.1", | |
"event": "click" | |
}, | |
{ | |
"sg_event_id": "fru_s2s1RtueuqBMNoIoTg", | |
"timestamp": 1529618255, | |
"url": "https://noname.com?utm_campaign=website&utm_source=sendgrid.com&utm_medium=email", | |
"ip": "192.168.1.1", | |
"event": "click", | |
"id": "555c1f7c5asdf7000167d87b" | |
} | |
] | |
} | |
] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment