2014-11-28 5 views
0

JSON에서 key : value 쌍의 값에 어떻게 액세스합니까? 현재 함수는 json을 반복하고 키를 제공하지만 해당 값은 제공하지 않습니다. 예를 들어 각 직원의 각 작업에 대해 사이트 값을 원하면 어떻게해야합니까?JSON을 반복하는 Javascript 함수 만들기

var s = { 
    "schedule": { 
     "employees": { 
      "1000": { 
       "task1": [ 
        { 
         "task": "task1", 
         "site": "site1", 
         "from": "0900", 
         "to": "1000" 
        }, 
        { 
         "task": "task2", 
         "site": "site2", 
         "from": "0900", 
         "to": "1000" 
        } 
       ] 
      }, 
      "2000": { 
       "task2": [ 
        { 
         "task": "task3", 
         "site": "site3", 
         "from": "0900", 
         "to": "1000" 
        }, 
        { 
         "task": "task4", 
         "site": "site4", 
         "from": "0900", 
         "to": "1000" 
        } 
       ] 
      } 
     } 
    } 
} 

for (var i in s["schedule"]["employees"]) { 
    // this gives me the object, I would like the employee number (eg:1000) 
    console.log([i]); 
    for (var j in s["schedule"]["employees"][i]["tasks"]) { 
     //how do I print the value for the "site" key? 
     console.log([j]);  
    } 
} 
+0

@tokyovariable : 그는 비록 스크롤 요구했다. – Amadan

답변

2
console.log(i); // employee number 

console.log(s.schedule.employees[i].tasks[j].site); // task site 
+0

안녕하세요, 직원이 배열이 아니기 때문에 직원 [i]이 (가) 유효하지 않습니다. 직원은 개체이고 "1000", "2000"은 해당 개체의 속성입니다. –

+1

@RocoCTZ, 아니요 배열이 아니지만 배열 구문을 사용하여 해당 속성에 액세스 할 수 있습니다. 그리고 당신은'employees.1000'을 할 수 없으므로 배열 문법으로해야합니다. –

+0

@RocoCTZ :'("1000": "여전히 작동합니다") [ "1000"] == "여전히 작동 중" – Amadan

관련 문제