2011-06-01 3 views
1

после просмотра многих похожих вопросов на SO, я до сих пор не могу перебирать структуру json. Как я могу получить значение (ключ) моего внутреннего массива?Итерация json-массива в javascript

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 />") 
} 

Печатается:

User1: Service1: не определено Service2: не определено

Пользователь2: service3: неопределенные

И я хотел бы, чтобы напечатать

User1: Ser vice1: 2 Service2: 1

Пользователь2: service3: 1

Является ли Javascript достаточно или мне нужно сделать JQuery? Спасибо заранее!

+0

Нет «внутреннего массива», однако есть вложенные объекты. – RobG

ответ

8
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]); 
    } 
} 

Заменить console.log с document.write или любой другой.

+0

Мог бы поклясться, что я пробовал это, но должен был записать данные [user [service]]. Дурак я. Спасибо! –

Смежные вопросы