In this post we parse a json file display the content of that file in a html page. Here we parse the file using javascript's function JSON.parse() |
Here is the Json file we used:
[
{
"_id": "5582f8f983abbf96aff0867f",
"index": 0,
"guid": "431562f6-3197-4aad-8d85-165a6b28c1bf",
"isActive": false,
"balance": "$1,945.59",
"picture": "http://placehold.it/32x32",
"age": 36,
"eyeColor": "blue",
"name": "Norma White",
"gender": "female",
"company": "MAZUDA",
"email": "normawhite@mazuda.com",
"phone": "+1 (886) 518-2133",
"address": "162 Vernon Avenue, Clayville, South Carolina, 9710",
"about": "Minim elit tempor dolor pariatur ex irure officia
reprehenderit proident excepteur ea in in non. Consequat
eiusmod nostrud dolore reprehenderit eu laborum sunt. Eiusmod
nostrud cillum officia elit et incididunt incididunt commodo
dolore non. In minim nisi in id commodo ut.\r\n",
"registered": "2015-06-02T01:21:13 -06:-30",
"latitude": -50.456627,
"longitude": -140.03817,
"tags": [
"dolor",
"elit",
"ipsum",
"Lorem",
"laboris",
"sint",
"aliqua"
],
"friends": [
{
"id": 0,
"name": "Maribel Wheeler"
},
{
"id": 1,
"name": "Letha Reid"
},
{
"id": 2,
"name": "Jenkins Mcbride"
}
],
"greeting": "Hello, Norma White! You have 4 unread
messages.",
"favoriteFruit": "apple"
},
{
"_id": "5582f8f9cc0397850d491ea2",
"index": 1,
"guid": "7f980900-413b-4647-8254-ffb70fe5d394",
"isActive": false,
"balance": "$3,427.90",
"picture": "http://placehold.it/32x32",
"age": 34,
"eyeColor": "green",
"name": "Delores Cash",
"gender": "female",
"company": "INFOTRIPS",
"email": "delorescash@infotrips.com",
"phone": "+1 (934) 465-3926",
"address": "602 Tudor Terrace, Croom, Alaska, 3367",
"about": "Ex incididunt incididunt dolore sunt non aliqua
exercitation aute elit ad ex. Non irure sunt excepteur ex et id
nisi ipsum adipisicing nisi. Non aliquip nulla ullamco ullamco
anim fugiat ullamco dolore magna reprehenderit mollit tempor
fugiat.\r\n",
"registered": "2014-03-30T11:28:04 -06:-30",
"latitude": 20.412092,
"longitude": -24.360202,
"tags": [
"adipisicing",
"qui",
"aute",
"consequat",
"incididunt",
"sunt",
"do"
],
"friends": [
{
"id": 0,
"name": "Cherry Giles"
},
{
"id": 1,
"name": "Liz Brooks"
},
{
"id": 2,
"name": "Estela Thompson"
}
],
"greeting": "Hello, Delores Cash! You have 2 unread
messages.",
"favoriteFruit": "strawberry"
},
{
"_id": "5582f8f952fc2e8172d3d49f",
"index": 2,
"guid": "f456df49-1082-4cd1-a989-08f580b8a39f",
"isActive": false,
"balance": "$3,487.59",
"picture": "http://placehold.it/32x32",
"age": 28,
"eyeColor": "blue",
"name": "Cortez Thomas",
"gender": "male",
"company": "SPLINX",
"email": "cortezthomas@splinx.com",
"phone": "+1 (954) 590-3960",
"address": "801 Roosevelt Court, Vale, Ohio, 9448",
"about": "Consequat dolor aliqua do minim ipsum minim elit
sint minim minim sit dolor. Id et cupidatat esse consectetur
voluptate id cillum non excepteur laboris laboris anim do
aliqua. Dolor nisi labore ea ipsum enim magna ea tempor eiusmod
id. Esse occaecat aliquip laborum officia duis laboris
nisi.\r\n",
"registered": "2014-10-29T07:15:24 -06:-30",
"latitude": 4.709781,
"longitude": 73.445115,
"tags": [
"excepteur",
"incididunt",
"eu",
"non",
"proident",
"sit",
"nisi"
],
"greeting": "Hello, Cortez Thomas! You have 3 unread
messages.",
"favoriteFruit": "apple"
},
{
"_id": "5582f8f94359b04b61961764",
"index": 3,
"guid": "642c9764-f136-43fa-b9ee-c9fbdb14f5db",
"isActive": true,
"balance": "$3,932.63",
"picture": "http://placehold.it/32x32",
"age": 23,
"eyeColor": "brown",
"name": "Christine Levine",
"gender": "female",
"company": "HELIXO",
"email": "christinelevine@helixo.com",
"phone": "+1 (966) 487-3878",
"address": "757 Imlay Street, Summerset, Utah, 169",
"about": "Exercitation ad nostrud enim commodo aute anim
dolor adipisicing incididunt. Cillum ex commodo dolor nisi
nulla id proident occaecat amet adipisicing eiusmod duis.
Eiusmod nisi exercitation deserunt in incididunt magna dolor.
Fugiat do nulla non est. Enim magna labore irure in.\r\n",
"registered": "2014-09-03T05:45:06 -06:-30",
"latitude": -66.575199,
"longitude": -66.479327,
"tags": [
"eiusmod",
"qui",
"aute",
"ea",
"ut",
"qui",
"qui"
],
"greeting": "Hello, Christine Levine! You have 6 unread
messages.",
"favoriteFruit": "apple"
},
{
"_id": "5582f8f96b9f9e87d16f4544",
"index": 4,
"guid": "ec7cd607-dd0b-466f-9c8a-38bf430c145f",
"isActive": true,
"balance": "$2,895.67",
"picture": "http://placehold.it/32x32",
"age": 21,
"eyeColor": "brown",
"name": "Naomi Miller",
"gender": "female",
"company": "RONELON",
"email": "naomimiller@ronelon.com",
"phone": "+1 (950) 583-2168",
"address": "339 Keap Street, Singer, Oklahoma, 9244",
"about": "Esse fugiat consectetur id magna nisi. Elit
laboris tempor tempor laboris aute consectetur labore mollit
anim veniam do dolore. Magna quis irure deserunt sunt ex esse
esse cillum. Incididunt irure laboris tempor et mollit
adipisicing ullamco in elit. Commodo incididunt sint sunt sunt
nostrud consequat magna proident anim ea. Cillum nulla ad ea
enim officia occaecat reprehenderit nostrud nulla do
adipisicing cillum.\r\n",
"registered": "2014-10-18T20:21:26 -06:-30",
"latitude": -18.367898,
"longitude": -117.26177,
"tags": [
"cupidatat",
"deserunt",
"consectetur",
"et",
"laboris",
"duis",
"proident"
],
"greeting": "Hello, Naomi Miller! You have 4 unread
messages.",
"favoriteFruit": "banana"
}
]
This is random json data generated from http://json-generator.appspot.com/The link for this file is http://json-generator.appspot.com/api/json/get/bMGRMYBGEO?indent=2
Now we parse that data using javascript functon JSON.parse we also use XMLHttpRequest function to get this file over the internet.
Source Code :
<!DOCTYPE html> <html> <body> <script> var xmlhttp = new XMLHttpRequest(); var url = "http://json-generator.appspot.com/api/json/get/bMGRMYBGEO?indent=2"; xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { var myArr = JSON.parse(xmlhttp.responseText); document.getElementById("btn").onclick = function() {myFunction(myArr)}; } } xmlhttp.open("GET", url, true); xmlhttp.send(); function myFunction(arr) { var result = ""; var i; for(i = 0; i < arr.length; i++) { result += "<h1>Person "+ i + "</h1><table><tr><td>Id: </td><td>"+arr[i]._id+"</td></tr><tr><td>Name:</td> <td>"+arr[i].name+"</td></tr><tr><td>Age:</td> <td>"+arr[i].age+"</td></tr><tr><td>Gender:</td> <td>"+arr[i].gender+"</td></tr><tr><td>Picture:</td><td><img src="+arr[i].picture+"/></td></tr><tr><td>Company:</td> <td>"+arr[i].company+"</td></tr><tr><td>Email:</td> <td>"+arr[i].email+"</td></tr><tr><td>Phone :</td> <td>"+arr[i].phone+"</td></tr><tr><td>Address:</td> <td>"+arr[i].address+"</td></tr><tr><td>About:</td> <td>"+arr[i].about+"</td></tr><tr><td>Latitude:</td> <td>"+arr[i].latitude+"</td></tr><tr><td>Longitude:</td> <td>"+arr[i].longitude+"</td></tr><tr><td>Balance:</td> <td>"+arr[i].balance+"</td></tr><tr><td>Greeting :</td> <td>"+arr[i].greeting+"</td></tr><tr><td>Fav Fruit :</td> <td>"+arr[i].favoriteFruit+"</td></tr><tr><td>guid:</td> <td>"+arr[i].guid+"</td></tr><tr><td>Registered:</td> <td>"+arr[i].registered+"</td></tr><tr><td>Active ?:</td> <td>"+arr[i].isActive+"</td></tr><tr><td>Eye Color::</td> <td>"+arr[i].eyeColor+"</td></tr><tr><td>Index:</td> <td>"+arr[i].index+"</td></tr><tr><td>Tags:</td> <td>"+arr[i].tags+"</td></tr></table><br><hr><br>" } document.getElementById("showResult").innerHTML = result; } </script> <button type="button" id="btn">Parse Text </button> <div id="showResult"></div> </body> </html>
Result :