2016-01-02 3 views
0

Так у меня есть следующие JSON объект в качестве примера:Получить ключ от объекта JSon внутри другого объекта JSON только зная, что это положение

{ 

    "employees": { 
    "employee300": { 
     "number" : "example", 
     "Name" : "example", 
     "position" : 1 
    }, 
    "employee456": {"number" : "example", 
     "Name" : "example", 
     "position" : 2}, 
    "employee120":{"number" : "example", 
     "Name" : "example", 
     "position" : 3} 
} 
} 

я только иметь место, и я хочу, чтобы получить идентификатор сотрудника. Например, у меня есть номер позиции, который равен 2, и мне нужно получить идентификатор, который является «employee456».

Я знаю, что в PHP много ключевых функций, но я хотел бы знать, как я могу заставить свой код работать в моем сценарии. Я также могу преобразовать json в массив, если есть такое решение.

+0

Как вы разобрали JSON в PHP? 'Json_decode'? Как массив или как объект? Покажите нам соответствующий код. Это всегда полезно. – Rudie

+0

Я разбираю его с json_decode, и я делаю это как массив. –

ответ

1

Я не уверен, хочу ли для этого в JS или PHP, чтобы принять последнее.

<?php function get_employee_at_pos($employees, $pos) 
{ 
    foreach ($employees as $key => $value) { 
     if ($value['position'] == $pos) { 
      return $key; 
     } 
    } 
    return false; 
} 
0

используйте var keys = Object.keys(obj), чтобы получить ключи, затем используйте myobject[keys[1]]. (1 соответствует position - 1).

EDIT: в PHP

$keys = array_keys(myobject); и использовать $myobject[$keys[1]]

EDIT 2: в PHP, вам необходимо загрузить JSON в массив

$myjson = json_decode(file_get_contents("yourfile.json"), true); // loads yourfile.json and converts to a php array. 
+0

Разве это не половина в JS? –

+0

И спасибо за ответ. –

+0

@MarkKevin: Обновлено до php –

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