Кажется, что есть некоторые неуместные скобки функций. Я сделал вставку innerHTML как обработчик-преемник:
function restapp() {
$.getJSON(opURL, function(data) {
//data is the JSON string
for (i=0; i<data.restaurants.length; i++) {
result.push("Name: " +
data.restaurants[i].name);
result.push("Address: " +
data.restaurants[i].address);
result.push("Price: " +
data.restaurants[i].price);
result.push("<br>");
}
}).document.getElementById("demo").innerHTML = JSON.stringify(result, null, 2);
}