Ошибка в php Недопустимое смещение строки - PullRequest
1 голос
/ 18 апреля 2020

Я пишу код php, который выбирает данные с фиктивного json сервера API. Но я сталкиваюсь с этой ошибкой.

Warning: Illegal string offset 'employee_name' in C:\xampp\htdocs\jsonapi.php on line 19
name: s

Warning: Illegal string offset 'employee_age' in C:\xampp\htdocs\jsonapi.php on line 21
name: s


Notice: Undefined index: employee_name in C:\xampp\htdocs\jsonapi.php on line 19
name:

Notice: Undefined index: employee_age in C:\xampp\htdocs\jsonapi.php on line 21
name:

Вот мой код.

<?php

$api_url = 'http://dummy.restapiexample.com/api/v1/employees';

// Read JSON file
$json_data = file_get_contents($api_url);

// Decode JSON data into PHP array
$user_data = json_decode($json_data,true);

// Cut long data into small & select only first 10 records
$user_data = array_slice($user_data,0,9);

// Print data if need to debug
//print_r($user_data);

// Traverse array and display user data

foreach ($user_data as $user) {
    echo "name: ".$user['employee_name'];
    echo "<br />";
    echo "name: ".$user['employee_age'];
    echo "<br /> <br />";

}

?>

Что я должен сделать, чтобы устранить эту ошибку?

1 Ответ

2 голосов
/ 18 апреля 2020

Как видно из извлечено JSON, фактические данные содержатся в поле data.

Замените:

$user_data = json_decode($json_data, true);

С:

$result = json_decode($json_data, true);
$user_data = $result['data'];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...