2015-01-05 2 views
2

У меня есть файл в формате JSON, как этотJSon PHP данные в формате

{ 
    "id": "123456789", 
    "members": { 
    "data": [ 
     { 
     "name": "Dylan John", 
     "administrator": false, 
     "id": "12341234" 
     }, 
     { 
     "name": "Test user", 
     "administrator": false, 
     "id": "43214321" 
     }, 
     { 
     "name": "Demo user", 
     "administrator": false, 
     "id": "55445544" 
     }, 
     { 
     "name": "Fake user", 
     "administrator": false, 
     "id": "11991199" 
     } 
    ], 
    "paging": { 
     "next": "www.123456demo12345.com" 
    } 
    } 
} 

мне нужно извлечь идентификатор каждого имени.

Я только начинаю свой PHP код, как это, но просто отображать только мастер-идентификатор:

<?php 
$url = "http://www.1234demo1234fake.com/user.json"; 

$json = file_get_contents($url); 
$data = json_decode($json, TRUE); 

echo $data[id]; //echo master id 
echo $data[members][data][id]; 
?> 
+0

Используйте цитаты вокруг названий ключей, таких как 'echo $ data ['id']', поскольку в противном случае вы пытаетесь использовать значения констант (которые не заданы) – Justinas

ответ

1

Вы должны перебрать $data['members']['data'] и печати $data['members']['data'][$i]['id'].

-3
$count=count($data['members']['data']); 
    echo $data['id']; //echo master id 
    $i=0; 
    while($i<$count) { 
    echo $data['members']['data'][$i]['id']; 
    $i++; 
    } 
1

Ваш объект JSON содержит свойство members снова members имеет свойство data.

data - это массив.

Простой цикл над data, вы получаете массив объектов (участников), извлекаете свойство id из него.

<?php 
$abc = json_decode($your_json_sting); 
$membersData = $abc->members->data; 
$memberIds = array(); 
foreach ($membersData as $mem) { 
    $memberIds[] = $mem->id; 
} 
echo '<pre>';print_r($memberIds);echo '</pre>'; 
?> 
Смежные вопросы