Php Json Decode - отображение значения элементов второго уровня


Php Json Decode - отображение значения элементов второго уровня

28.10.2020 09:00:29 Просмотров 6 Источник

Я пытаюсь декодировать формат JSON Моя конечная точка API-это https://api.reliableserver.host/api/landings

И это уже выход

{
    "success": true,
    "data": [
        {
            "id": 1,
            "primary_balance": "$4,184.37",
            "primary_currency": "USD",
            "secondary_balance": "¥0",
            "secondary_currency": "JPY",
            "tertiary_balance": "฿0.00",
            "tertiary_currency": "THB",
            "first_language": "ไทย",
            "second_language": "English",
            "footer_text": "a",
            "created_at": "2020-10-26T07:45:49.000000Z",
            "updated_at": "2020-10-28T05:31:04.000000Z",
            "deleted_at": null
        }
    ],
    "message": "Landings retrieved successfully"
}

Мне нужно Эхо отдельных значений, например: первичный баланс: $4,184.37

Я попробовал использовать это:

$url = "https://api.reliableserver.host/api/landings";
    
$obj = json_decode($url);
    
echo $obj>primary_balance;

Но это не сработало, любезно объясните мне, что я делаю не так.

У вопроса есть решение - Посмотреть?

Ответы - Php Json Decode - отображение значения элементов второго уровня / Php Json Decode - Display value of second level items

Является ответом!
sta

28.10.2020 09:10:49

Вы можете сделать это так :

$url = '{"success": true,"data": [{"id": 1,"primary_balance": "$4,184.37","primary_currency": "USD","secondary_balance": "¥0","secondary_currency": "JPY","tertiary_balance": "฿0.00","tertiary_currency": "THB","first_language": "ไทย","second_language": "English","footer_text": "a","created_at": "2020-10-26T07:45:49.000000Z","updated_at": "2020-10-28T05:31:04.000000Z","deleted_at": null}],"message": "Landings retrieved successfully"}';
$obj = json_decode($url, true);
echo $obj['data'][0]['primary_balance'];
// output $4,184.37

Выше код протестирован здесь

Вам нужен метод file_get_contents (), чтобы получить данные JSON из вашего заданного URL-адреса.

$url = "https://api.reliableserver.host/api/landings";
$obj = json_decode(file_get_contents($url), true);
echo $obj['data'][0]['primary_balance'];
// output $4,184.37
Chirag Kamat

28.10.2020 09:21:08

В принципе, вы нигде не вызываете этот api. Если это открытая конечная точка (без auth или заголовков, вы можете сделать file_get_contents() или я предлагаю вам использовать curl. Кроме того, вам нужно проверить структуру данных ответа, у нее есть ключ "данные", который представляет собой массив. поэтому вам нужно использовать foreach для итерации по ключу "данные".

Я дал примерный ответ, который должен работать, если в данных есть только 1 элемент.

    $url = "https://api.reliableserver.host/api/landings";
    $resp = file_get_contents($url);
    $obj= json_decode($resp);// will return in object form
    echo $obj->data[0]->primary_balance;

или

$url = "https://api.reliableserver.host/api/landings";
$resp = file_get_contents($url);
$obj= json_decode($resp, true); // will return in array form
echo $obj['data'][0]['primary_balance'];

json_decode()

Помочь в развитии проекта:
Закрыть X