Difference between revisions of "JSON"
Jump to navigation
Jump to search
Line 79: | Line 79: | ||
update.innerHTML = output; | update.innerHTML = output; | ||
</script> | </script> | ||
</pre> | |||
=== Getting JSON Data stored on external sites === | |||
'''you need to wrap the json data in a function ''' | |||
<pre> | |||
dataHandler({ | |||
"full_name" : "Ray Villalobos", | |||
"title" : "Staff Author", | |||
"links" : [ | |||
{ "blog" : "http://iviewsource.com" }, | |||
{ "facebook" : "http://facebook.com/iviewsource" }, | |||
{ "podcast" : "http://feeds.feedburner.com/authoredcontent" }, | |||
{ "twitter" : "http://twitter.com/planetoftheweb" }, | |||
{ "youtube" : "http://www.youtube.com/planetoftheweb" } | |||
] | |||
}); | |||
</pre> | |||
=== Script file === | |||
<pre> | |||
function dataHandler(info) { | |||
var output=''; | |||
for (var i = 0; i <= info.links.length-1; i++) { | |||
for (key in info.links[i]) { | |||
if (info.links[i].hasOwnProperty(key)) { | |||
output += '<li>' + | |||
'<a href = "' + info.links[i][key] + | |||
'">' + key + '</a>'; | |||
'</li>'; | |||
} | |||
} | |||
} | |||
var update = document.getElementById('links'); | |||
update.innerHTML = output; | |||
} | |||
</pre> | |||
=== HTML === | |||
'''Load the Json file after the script file''' | |||
<pre> | |||
<script src="myscript.js"></script> | |||
<script src="http://iviewsource.com/exercises/json/data.json"></script> | |||
</pre> | </pre> | ||
==[[#top|Back To Top]]-[[Main_Page| Home]] - [[Java Script|Category]]== | ==[[#top|Back To Top]]-[[Main_Page| Home]] - [[Java Script|Category]]== |
Revision as of 19:43, 20 December 2016
JSON File
var mainNav = [{ item: "Home", url: "../index.html" }, { item: "Product Videos", url: "../videos/index.php" }, { item: "Photo Gallery", url: "../photogallery.html" }, { item: "Installation Instructions", url: "../installation/index.html" }, { item: "Catalog Download", url: "../catalog/index.html" }, { item: "Tradeshows", url: "../tradeshow.html" } ];
Function That Creates the Navigation and Calls it
function showMainNav(arr) { var output = "<ul>"; var i; for (i = 0; i < arr.length; i++) { output += '<a href="' + arr[i].url + '">' + '<li>' + arr[i].item + '</li></a>'; } if (elements.mainNavigation !== null) { elements.mainNavigation.innerHTML = output + '</ul>'; } // end if } // end showMainNav showMainNav(mainNav);
Using For In Loop
The for in loop does not always display the array in the order typed HTML
<h2>My List</h2> <ul id="links"> </ul>
<script> var info = { "full_name": "Ray Villalobos", "title": "Staff Author", "links": { "blog": "http://iviewsource.com", "facebook": "http://facebook.com/iviewsource", "youtube": "http://www.youtube.com/planetoftheweb", "podcast": "http://feeds.feedburner.com/authoredcontent", "twitter": "http://twitter.com/planetoftheweb" } }; var output = ""; for (key in info.links) { // if the link has the key property if (info.links.hasOwnProperty(key)) { output += '<li>' + '<a href="' + info.links[key] + '">' + key + '</a>' + '</li>'; } } var update = document.getElementById('links'); update.innerHTML = output; </script>
Getting JSON Data stored on external sites
you need to wrap the json data in a function
dataHandler({ "full_name" : "Ray Villalobos", "title" : "Staff Author", "links" : [ { "blog" : "http://iviewsource.com" }, { "facebook" : "http://facebook.com/iviewsource" }, { "podcast" : "http://feeds.feedburner.com/authoredcontent" }, { "twitter" : "http://twitter.com/planetoftheweb" }, { "youtube" : "http://www.youtube.com/planetoftheweb" } ] });
Script file
function dataHandler(info) { var output=''; for (var i = 0; i <= info.links.length-1; i++) { for (key in info.links[i]) { if (info.links[i].hasOwnProperty(key)) { output += '<li>' + '<a href = "' + info.links[i][key] + '">' + key + '</a>'; '</li>'; } } } var update = document.getElementById('links'); update.innerHTML = output; }
HTML
Load the Json file after the script file
<script src="myscript.js"></script> <script src="http://iviewsource.com/exercises/json/data.json"></script>