Loop through json and paste in html not working properly
up vote
0
down vote
favorite
I have a fetch api as such:
let url ='https://jsonplaceholder.typicode.com/posts/20'
const html = document.getElementById('root');
fetch(url)
.then(response => response.json())
.then(json => writeToHTML(json)) //vi bruger JSON.stringify(json for at konvertere til en streng)
.catch(error =>console.log("The error is: ", error));
const writeToHTML = (json) =>{
let html = "";
console.log(JSON.stringify(json))
for(jsonObj in json){
let jsonString = JSON.stringify(jsonObj);
html += `<p><b> ${jsonString} </b> </p>`
}
document.getElementById('root').innerHTML = html
}
but the output is not working properly, it is only placing the keys, of the json object, where i want each value pair, being displayed on a new line each time.
here is the full json object, I'm fetching, i would prefer to do it with more objects.
{"userId":2,"id":20,"title":"doloribus ad provident suscipit at","body":"qui consequuntur ducimus possimus quisquam amet similiquensuscipit porro ipsam ametneos veritatis officiis exercitationem vel fugit aut necessitatibus totamnomnis rerum consequatur expedita quidem cumque explicabo"}
javascript fetch
add a comment |
up vote
0
down vote
favorite
I have a fetch api as such:
let url ='https://jsonplaceholder.typicode.com/posts/20'
const html = document.getElementById('root');
fetch(url)
.then(response => response.json())
.then(json => writeToHTML(json)) //vi bruger JSON.stringify(json for at konvertere til en streng)
.catch(error =>console.log("The error is: ", error));
const writeToHTML = (json) =>{
let html = "";
console.log(JSON.stringify(json))
for(jsonObj in json){
let jsonString = JSON.stringify(jsonObj);
html += `<p><b> ${jsonString} </b> </p>`
}
document.getElementById('root').innerHTML = html
}
but the output is not working properly, it is only placing the keys, of the json object, where i want each value pair, being displayed on a new line each time.
here is the full json object, I'm fetching, i would prefer to do it with more objects.
{"userId":2,"id":20,"title":"doloribus ad provident suscipit at","body":"qui consequuntur ducimus possimus quisquam amet similiquensuscipit porro ipsam ametneos veritatis officiis exercitationem vel fugit aut necessitatibus totamnomnis rerum consequatur expedita quidem cumque explicabo"}
javascript fetch
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I have a fetch api as such:
let url ='https://jsonplaceholder.typicode.com/posts/20'
const html = document.getElementById('root');
fetch(url)
.then(response => response.json())
.then(json => writeToHTML(json)) //vi bruger JSON.stringify(json for at konvertere til en streng)
.catch(error =>console.log("The error is: ", error));
const writeToHTML = (json) =>{
let html = "";
console.log(JSON.stringify(json))
for(jsonObj in json){
let jsonString = JSON.stringify(jsonObj);
html += `<p><b> ${jsonString} </b> </p>`
}
document.getElementById('root').innerHTML = html
}
but the output is not working properly, it is only placing the keys, of the json object, where i want each value pair, being displayed on a new line each time.
here is the full json object, I'm fetching, i would prefer to do it with more objects.
{"userId":2,"id":20,"title":"doloribus ad provident suscipit at","body":"qui consequuntur ducimus possimus quisquam amet similiquensuscipit porro ipsam ametneos veritatis officiis exercitationem vel fugit aut necessitatibus totamnomnis rerum consequatur expedita quidem cumque explicabo"}
javascript fetch
I have a fetch api as such:
let url ='https://jsonplaceholder.typicode.com/posts/20'
const html = document.getElementById('root');
fetch(url)
.then(response => response.json())
.then(json => writeToHTML(json)) //vi bruger JSON.stringify(json for at konvertere til en streng)
.catch(error =>console.log("The error is: ", error));
const writeToHTML = (json) =>{
let html = "";
console.log(JSON.stringify(json))
for(jsonObj in json){
let jsonString = JSON.stringify(jsonObj);
html += `<p><b> ${jsonString} </b> </p>`
}
document.getElementById('root').innerHTML = html
}
but the output is not working properly, it is only placing the keys, of the json object, where i want each value pair, being displayed on a new line each time.
here is the full json object, I'm fetching, i would prefer to do it with more objects.
{"userId":2,"id":20,"title":"doloribus ad provident suscipit at","body":"qui consequuntur ducimus possimus quisquam amet similiquensuscipit porro ipsam ametneos veritatis officiis exercitationem vel fugit aut necessitatibus totamnomnis rerum consequatur expedita quidem cumque explicabo"}
javascript fetch
javascript fetch
asked Nov 11 at 21:00
baileyhaldwin
532116
532116
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
up vote
1
down vote
accepted
What you are calling jsonobj
in for(jsonObj in json)
is not an object it is each property name in the object you call json
Try
for(let key in json){
html += `<p><b>${key} : ${json[key]} </b> </p>`
}
add a comment |
up vote
1
down vote
A for
loop over an object i.e for(let jsonObj in json){
jsonObj
is the key not the full object.
So I think your looking for something like:
for(let jsonObj in json){
let jsonString = JSON.stringify(json[jsonObj]);
html += `<p><b> ${jsonString} </b> </p>`
}
add a comment |
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
What you are calling jsonobj
in for(jsonObj in json)
is not an object it is each property name in the object you call json
Try
for(let key in json){
html += `<p><b>${key} : ${json[key]} </b> </p>`
}
add a comment |
up vote
1
down vote
accepted
What you are calling jsonobj
in for(jsonObj in json)
is not an object it is each property name in the object you call json
Try
for(let key in json){
html += `<p><b>${key} : ${json[key]} </b> </p>`
}
add a comment |
up vote
1
down vote
accepted
up vote
1
down vote
accepted
What you are calling jsonobj
in for(jsonObj in json)
is not an object it is each property name in the object you call json
Try
for(let key in json){
html += `<p><b>${key} : ${json[key]} </b> </p>`
}
What you are calling jsonobj
in for(jsonObj in json)
is not an object it is each property name in the object you call json
Try
for(let key in json){
html += `<p><b>${key} : ${json[key]} </b> </p>`
}
answered Nov 11 at 21:04
charlietfl
138k1286118
138k1286118
add a comment |
add a comment |
up vote
1
down vote
A for
loop over an object i.e for(let jsonObj in json){
jsonObj
is the key not the full object.
So I think your looking for something like:
for(let jsonObj in json){
let jsonString = JSON.stringify(json[jsonObj]);
html += `<p><b> ${jsonString} </b> </p>`
}
add a comment |
up vote
1
down vote
A for
loop over an object i.e for(let jsonObj in json){
jsonObj
is the key not the full object.
So I think your looking for something like:
for(let jsonObj in json){
let jsonString = JSON.stringify(json[jsonObj]);
html += `<p><b> ${jsonString} </b> </p>`
}
add a comment |
up vote
1
down vote
up vote
1
down vote
A for
loop over an object i.e for(let jsonObj in json){
jsonObj
is the key not the full object.
So I think your looking for something like:
for(let jsonObj in json){
let jsonString = JSON.stringify(json[jsonObj]);
html += `<p><b> ${jsonString} </b> </p>`
}
A for
loop over an object i.e for(let jsonObj in json){
jsonObj
is the key not the full object.
So I think your looking for something like:
for(let jsonObj in json){
let jsonString = JSON.stringify(json[jsonObj]);
html += `<p><b> ${jsonString} </b> </p>`
}
answered Nov 11 at 21:03
Lawrence Cherone
33k43675
33k43675
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53253187%2floop-through-json-and-paste-in-html-not-working-properly%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown