Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

250
Views
How can I display 100 json data in HTML?

I am new to html, css and javascript and I am making a basic project to learn. I will have 2 pages:list page and detail page. In list page, I need to display posts on the html screen. I only display the title and body of the posts to the screen. I need to fetch the post datas from https://jsonplaceholder.typicode.com/posts

My HTML code for list page:

<!DOCTYPE html>
<html>
    <head>
        <script src="fetch.js"></script>
        <title>List</title>
    </head>
    <body>
        <a>
            <h3><span id="title"> </span></h3>
            <p><span id="body"></span></p>
        </a>  
    </body> 
</html>

my javascript code:

const api_url='https://jsonplaceholder.typicode.com/posts/1';

async function getISS(){
   const response = await fetch(api_url);
   const data= await response.json();
   const { title, body } = data;


   document.getElementById('title').textContent=title;
   document.getElementById('body').textContent=body;
}

getISS();

this code only displays the post with id number 1 as you see here: output

How can I list all the posts title and body? Should I use loop for it? There is 100 post in the JSON and I need to display all of this posts titles and bodies.

about 4 years ago · Juan Pablo Isaza
3 answers
Answer question

0

The way I do this in React is by using the map method on the data array. You can do the same thing with JavaScript and HTML. Essentially you want to map over the data array and for each element you want to create a new element. Something like this:

const posts = [{name: "first", id: 1}, {name: "second", id: 2}]
posts.map((post) => //create the element);

Since you're using an API, posts would just be the response you get from the API (which should be an array)

about 4 years ago · Juan Pablo Isaza Report

0

try this js:


async function getISS() {
  const response = await fetch('https://jsonplaceholder.typicode.com/posts');

  const res = await response.json();
  let anstitle = '';
  let ansbody = '';
  res.map((item) => {
    anstitle += item.title;
    ansbody += item.body;
  })

  document.getElementById('title').textContent = anstitle;
  document.getElementById('body').textContent = ansbody;
}

getISS();
about 4 years ago · Juan Pablo Isaza Report

0

const api_url='https://jsonplaceholder.typicode.com/posts/';

async function getISS(){
   const response = await fetch(api_url);
   const data= await response.json();
   const { title, body } = data;

    let content = data.map((d,i)=> {
      return`<a>
            <span> post: ${+i+1} <span>
            <h3><span class="title"> ${d.title} </span></h3>
            <p><span class="body"> ${d.body} </span></p>
        </a>
        `
    })
   document.querySelector('body').innerHTML=content.join('');
}

getISS();
    <body>

    </body> 

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!