2016-03-31 3 views
0

У меня есть следующий JSON-файл, в котором мне нужно извлечь значение и назначить его переменной PHP. Значение, которое мне нужно, это «icn».Проанализируйте JSON с PHP и назначьте переменную

{ 
    "apiVersion": "1.0", 
    "data": { 
    "updated": 20160331141332, 
    "totalItems": 1, 
    "currentItemCount": 1, 
    "items": [ 
     { 
     "birthDate": "20171101", 
     "fullName": "DOE,JOHN D", 
     "icn": "889081784V888383", 
     "pid": "55R1;60004" 
     } 
    ] 
    } 
} 

Я пробовал следующее, но не получаю результатов.

$myjson = file_get_contents('http://testurl.org/info.json'); 
print_r(json_decode($myjson->data->items[0]->icn,true)); 

echo "<br>LAST-Error:"; echo json_last_error(); 
echo "<br>LAST-Error-Msg:"; echo json_last_error_msg(); 

Результаты

LAST-Error:0 
LAST-Error-Msg:No error 
+3

Возможный дубликат [? Как извлечь данные из JSON с PHP] (http://stackoverflow.com/questions/29308898/how-do -i-экстракт-данных из-JSON-с-РНР) –

ответ

0

Я понял, куда я пошел неправильно.

$myjson = file_get_contents('http://testurl.org/info.json'); 
$dec = (Array)json_decode($myjson,true); 
$ICN = $dec["data"]["items"][0]["icn"]; 
0

$myjson является строкой, то рассматривать его как объект:

$myjson->data->items[0]->icn 

Вы должны первой декодирования JSON строку, затем вы можете получить JSON элементов.

Просто переместите закрывающая скобка и удалить True вариант:

 
print_r(json_decode($myjson->data->items[0]->icn, true)); 
#        ┌──────────────────────────┘ 
print_r(json_decode($myjson)->data->items[0]->icn); 
Смежные вопросы