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>