Home > Software design >  Javascript print JSON Object
Javascript print JSON Object

Time:07-29

I want to parse this JSON array and print the salary so this what I have tried so far there is nothing logged in the Console

if (data.action == 'SendArray') {
  let invites = data.invites
  const obj = JSON.parse(invites)
  const myJSON = JSON.stringify(obj);
  console.log(myJSON.salary)
}

JSON:

{"factioname":"sp-force","inviter":"MohammedZr","salary":5000},
{"factioname":"air-force", "inviter":"Admin","salary":8000}

CodePudding user response:

myJSON is an array of objects. To log in console need to get each object. we can use forEach to get each object and then can console log the salary key.

let myJSON =[
  {"factioname":"sp-force","inviter":"MohammedZr","salary":5000},
  {"factioname":"air-force", "inviter":"Admin","salary":8000}];
  
myJSON.forEach(obj=> {
  console.log(obj.salary);
});

CodePudding user response:

This const myJSON = JSON.stringify(obj) turns your object back into a string, which you don't want.

I've done some setup to get your data matching your code but the two things you should note are:

  1. Iterating through the array of invites using for .. of (you could use forEach instead) and
  2. Using deconstruction to pull out the salary

data = { action: 'SendArray'
       , invites: '[{"factioname":"sp-force","inviter":"MohammedZr","salary":5000},{"factioname":"air-force", "inviter":"Admin","salary":8000}]'
       }
       
if (data.action == 'SendArray') {
  let invites = data.invites
  const obj = JSON.parse(invites)
  for ({salary} of JSON.parse(invites))
    console.log(salary)}

  • Related