Как правильно обработать JSON средствами PHP?

287
11 апреля 2017, 12:35

Всем привет! Пытаюсь обработать JSON:

{
"status":"error",
"code":400,
"error":[
     "params": [
        {
            "name":"lead_time",
            "message":"\"lead_time\" cannot be blank."
        },
        {
            "name":"lead_id",
            "message":"\"lead_id\" cannot be blank."
        },
     ],
     "type":"invalid_param_error",
     "message":"Invalid data parameters"
]

}

Делаю так:

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
    $response = json_decode($response, true);
$status = $response['status']; // Получаем переменную

Этот код работает, если я вытаскиваю первые две строчки status и code. Как вытащить данные, которые находятся внутри "error" и "params"?

Answer 1

Обработать JSON

json уже обработан, с помощью json_decode.

$response = json_decode($response, true);

В $response обычный php-массив и работать с ним нужно, как с обычным массивом.

$errorParams = $response['error']['params'];
foreach ($errorParams as $param) {
  echo "{$param['name']}: {$param['message']}<br/>\n";
}
READ ALSO
Советы по улучшению кода

Советы по улучшению кода

Годен ли такой код вывода? Как его улучшить?

369
Как сравнить даты в формате String

Как сравнить даты в формате String

Здравстуйте, у меня есть дата в формате String, как мне определить, что прошло уже больше 4х секунд?

331
Помогите изменить парсер

Помогите изменить парсер

Есть код , который парсит текст и ссылки с определенного адреса

303