используя Laravel 5.7: как я могу получить имя значения json из массива? - PullRequest
0 голосов
/ 11 декабря 2018

Я хочу получить значения имен из массива JSON.

{
"workspaces": {
    "workspace": [
        {
            "name": "SITR",
            "href": "http://localhost:8080/geoserver/rest/workspaces/SITR.json"
        },
        {
            "name": "fire",
            "href": "http://localhost:8080/geoserver/rest/workspaces/fire.json"
        },
        {
            "name": "info-geospasial",
            "href": "http://localhost:8080/geoserver/rest/workspaces/info-geospasial.json"
        },
        {
            "name": "pertanian",
            "href": "http://localhost:8080/geoserver/rest/workspaces/pertanian.json"
        },
        {
            "name": "semangat21",
            "href": "http://localhost:8080/geoserver/rest/workspaces/semangat21.json"
        },
        {
            "name": "semangat",
            "href": "http://localhost:8080/geoserver/rest/workspaces/semangat.json"
        },
        {
            "name": "cobalagi",
            "href": "http://localhost:8080/geoserver/rest/workspaces/cobalagi.json"
        },
        {
            "name": "cobak",
            "href": "http://localhost:8080/geoserver/rest/workspaces/cobak.json"
        }
    ]
}

}

Я пробовал следующее

$responsArray=json_decode($res->getBody());
dd($responsArray->workspaces->workspace->name);

, но оно возвращает 'попыткуполучить доступ к свойству необъекта ».Кто-нибудь может помочь?Я так ценю и благодарю

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Преобразовать все уровни объекта в структуру многомерного ассоциативного массива, передав флаг true в качестве второго аргумента функции json_decode(), а затем получить к нему доступ, аналогично доступу к многомерному массиву:

$nameArr = [];
$responseArray = json_decode($res->getBody(), true); // set true here
foreach ($responseArray['workspaces']['workspace'] as $row) {
    $nameArr[] = $row['name'];
}
dd($nameArr);
0 голосов
/ 11 декабря 2018
$nameArr = [];
$responsArray=json_decode($res->getBody());
foreach($responsArray->workspaces->workspace as $row)
{
  $nameArr[] = $row->name;
}
dd($nameArr);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...