Dennis S
Dennis S

Reputation: 858

Iterating json array in javascript

after looking through a lot of similar questions on SO, I still can't iterate my json structure. How can I reach the value (key) of my inner array?

var data = {"User1":{"Service1":2,"Service2":1},"User2":{"Service3":1}}
            
for(var user in data) {
    document.write(user + ': ')
             
    for(var service in data[user]){
        document.write(service + ': ' + user[service])
    }
    document.write("<br />")
}

This prints:

User1: Service1: undefined Service2: undefined

User2: Service3: undefined

And I'd like it to print

User1: Service1: 2 Service2: 1

User2: Service3: 1

Is javascript enough or do I need jQuery? Thanks in advance!

Upvotes: 1

Views: 8332

Answers (2)

Salman Arshad
Salman Arshad

Reputation: 272106

var data = {
  User1: {
    Service1: 2,
    Service2: 1
  },
  User2: {
    Service3: 1
  }
};
for (var user in data) {
  console.log("User: " + user);
  for (var service in data[user]) {
    console.log("\tService: " + service + "; value: " + data[user][service]);
  }
}

Replace console.log with document.write or whatever.

Upvotes: 8

Emmerman
Emmerman

Reputation: 2343

document.write(service + ': ' + data[user][service])

Upvotes: 3

Related Questions