2014-11-28 4 views
0

Как получить доступ к значению пары ключ: значение в JSON? Прямо сейчас функция выполняет итерацию через json и предоставляет ключи, но не соответствующие значения. Так, например, если мне нужно значение сайта для каждой задачи каждого сотрудника, как бы я это сделал?Создание функции Javascript, которая проходит через JSON

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

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