How To Modify This JavaScript Code To Grab An Image URL From A JSON File, And Display It In HTML?

This can be done by using the JavaScript method JSON.parse() to parse through the JSON file and extract the URL of the desired image. Then, an HTML img tag can be created with a source attribute set to this URL. Finally, this img tag can be appended to an existing HTML element in order to display it on your page.

This will require some knowledge of basic JavaScript syntax, as well as familiarity with how JSON is structured and parsed within it. With these skills in hand, you should have no trouble modifying your code to achieve your goal!

Let's dive into the article for getting better understanding on modifying JavaScript code to grab an image URL from a JSON file, and displaying it in HTML.

Using JSON.parse()

The static method JSON.parse() creates a JavaScript value or object from a JSON string by parsing it. Before the resultant object is returned, a transformation can be applied using an optional reviver function.

Syntax

Following is the syntax for JSON.parse() ?

JSON.parse(text)
JSON.parse(text, reviver)

Parameters

  • text ? The string to parse as JSON
  • reviver (optional) ? A function that transforms the results

Example: Basic Image Display from JSON

In this example, we parse JSON data and dynamically create an image element to display it on the webpage.

<!DOCTYPE html>
<html>
   <body>
      <div id="tutorial"></div>
      <script>
         json_data = '{"icon_url": "https://www.tutorialspoint.com/images/logo.png"}';
         json_data = JSON.parse(json_data);
         var getimage = document.createElement("img");
         getimage.onload = function() {
            document.getElementById("tutorial").appendChild(getimage);
         }
         getimage.src = json_data.icon_url;
      </script>
   </body>
</html>

When the script gets executed, it will generate an output consisting of an image that gets displayed on the webpage by using JSON.parse().

Example: Interactive Image Loading

This example shows how to load an image from JSON data when a button is clicked, with error handling for missing images.

<!DOCTYPE html>
<html>
   <body>
      <button id="button">Load Image</button>
      <img id="tutorial" alt="Dynamic Image">
      <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
      <script>
         $("#button").on("click",function(){
            var json='{"status":200,"count":1,"data":[{"image":"https://www.tutorialspoint.com/images/logo.png"}]}';
            var obj = jQuery.parseJSON(json);
            imagedata = obj.data[0].image;
            if (imagedata == ""){
               $( "#tutorial" ).attr('src', "imageerror.jpg");
            } else {
               $( "#tutorial" ).attr('src', imagedata);
            }
         });
      </script>
   </body>
</html>

On running the above script, the output window will display a click button on the webpage. When the user clicks the button, the event gets triggered and displays the image on the webpage.

Example: Multiple Images from JSON Array

In this example, we process a JSON object containing multiple images and display them all on the webpage.

<!DOCTYPE html>
<html>
   <body>
      <div id="tutorial"></div>
      <script>
         var data = {
            "images": [{
               "image1": "https://www.tutorialspoint.com/images/logo.png"
            }, {
               "image1": "https://www.tutorialspoint.com/static/images/logo-color.png"
            }, {
               "image1": "https://www.tutorialspoint.com/html/images/html-mini-logo.jpg"
            }]
         };
         data.images.forEach(function(obj) {
            var image = new Image();
            image.src = obj.image1;
            image.style.margin = "10px";
            document.getElementById("tutorial").appendChild(image);
         });
      </script>
   </body>
</html>

When the script gets executed, it will generate an output consisting of multiple images that get displayed on the webpage with proper spacing.

Key Points

  • Use JSON.parse() to convert JSON strings into JavaScript objects
  • Create image elements dynamically using document.createElement("img") or new Image()
  • Set the src attribute after creating the element for better loading control
  • Use the onload event to ensure images are loaded before displaying
  • Handle arrays of images using forEach() or similar iteration methods

Conclusion

Using JSON.parse() with dynamic image creation allows you to efficiently load and display images from JSON data. This approach is essential for building dynamic web applications that fetch image URLs from APIs or configuration files.

Updated on: 2026-03-15T23:19:01+05:30

10K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements