| 
									
										
										
										
											2018-10-12 15:37:13 -04:00
										 |  |  | --- | 
					
						
							|  |  |  | title: Convert JSON Data to HTML | 
					
						
							|  |  |  | --- | 
					
						
							| 
									
										
										
										
											2019-07-24 00:59:27 -07:00
										 |  |  | # Convert JSON Data to HTML
 | 
					
						
							| 
									
										
										
										
											2018-10-12 15:37:13 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-01 05:16:54 -07:00
										 |  |  | --- | 
					
						
							|  |  |  | ## Solutions
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <details><summary>Solution 1 (Click to Show/Hide)</summary> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ```html | 
					
						
							|  |  |  | <script > | 
					
						
							|  |  |  |   document.addEventListener('DOMContentLoaded', function() { | 
					
						
							|  |  |  |     document.getElementById('getMessage').onclick = function() { | 
					
						
							|  |  |  |       req = new XMLHttpRequest(); | 
					
						
							|  |  |  |       req.open("GET", '/json/cats.json', true); | 
					
						
							|  |  |  |       req.send(); | 
					
						
							|  |  |  |       req.onload = function() { | 
					
						
							|  |  |  |         json = JSON.parse(req.responseText); | 
					
						
							|  |  |  |         var html = ""; | 
					
						
							|  |  |  |         // Add your code below this line | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         json.forEach(function(val) { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |           // Adding each object keys | 
					
						
							|  |  |  |           var keys = Object.keys(val); | 
					
						
							|  |  |  |           // Generating new html | 
					
						
							|  |  |  |           html += "<div class = 'cat'>"; | 
					
						
							|  |  |  |           // Adding the custom html to each key | 
					
						
							|  |  |  |           keys.map(function(key) { | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |             html += "<strong>" + key + "</strong>: " + val[key] + "<br>"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |           }); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |           html += "</div><br>"; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |         }); | 
					
						
							| 
									
										
										
										
											2018-10-12 15:37:13 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-01 05:16:54 -07:00
										 |  |  |         // Add your code above this line | 
					
						
							|  |  |  |         document.getElementsByClassName('message')[0].innerHTML = html; | 
					
						
							|  |  |  |       }; | 
					
						
							|  |  |  |     }; | 
					
						
							|  |  |  |   }); | 
					
						
							|  |  |  | </script> | 
					
						
							|  |  |  | <style> | 
					
						
							|  |  |  |   body { | 
					
						
							|  |  |  |     text-align: center; | 
					
						
							|  |  |  |     font-family: "Helvetica", sans-serif; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   h1 { | 
					
						
							|  |  |  |     font-size: 2em; | 
					
						
							|  |  |  |     font-weight: bold; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   .box { | 
					
						
							|  |  |  |     border-radius: 5px; | 
					
						
							|  |  |  |     background-color: #eee; | 
					
						
							|  |  |  |     padding: 20px 5px; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   button { | 
					
						
							|  |  |  |     color: white; | 
					
						
							|  |  |  |     background-color: #4791d0; | 
					
						
							|  |  |  |     border-radius: 5px; | 
					
						
							|  |  |  |     border: 1px solid #4791d0; | 
					
						
							|  |  |  |     padding: 5px 10px 8px 10px; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   button:hover { | 
					
						
							|  |  |  |     background-color: #0F5897; | 
					
						
							|  |  |  |     border: 1px solid #0F5897; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | </style> | 
					
						
							|  |  |  | <h1>Cat Photo Finder</h1>  | 
					
						
							|  |  |  | <p class="message box"> | 
					
						
							|  |  |  |   The message will go here | 
					
						
							|  |  |  | </p> | 
					
						
							|  |  |  | <p> | 
					
						
							|  |  |  |   <button id="getMessage"> | 
					
						
							|  |  |  |     Get Message | 
					
						
							|  |  |  |   </button> | 
					
						
							|  |  |  | </p> | 
					
						
							|  |  |  | ``` | 
					
						
							| 
									
										
										
										
											2018-10-12 15:37:13 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-08-01 05:16:54 -07:00
										 |  |  | </details> |