Задать вопрос
Этот вопрос закрыт для ответов, так как повторяет вопрос Не могу взять данные с curl запроса?
@IgorPlays

Как раскодировать JSON?

Делаю запрос на api, получаю ответ:

{
"list": [
{
"name1": "1111",
"name12": "",
"name113": "2222",
"name1134": "",
{
"name1": "1111231231",
"name12": "4545454",
"name113": "2123222",
"name1134": "5454545",
}

Не могу взять данные через $data['list'][0]['name1'];, выводит просто .
Если пытаюсь задекодить в decode_json - ничего не выводит массив.

Вот код:

<?PHP
$curlHandler = curl_init();

$userName = '.xxxxx';
$password = 'xxx';

curl_setopt_array($curlHandler, [
    CURLOPT_URL => 'xxxx',
    CURLOPT_RETURNTRANSFER => true,

    CURLOPT_HTTPAUTH => CURLAUTH_BASIC,
    CURLOPT_USERPWD => $userName . ':' . $password,
]);

$response = curl_exec($curlHandler);
curl_close($curlHandler);
echo "<PRE>";
print_r($response.true) // ничего не выводит
print_r($response)// выводит массив который сверху
print_r($response['list'][0]['name1']; // выводит�
echo "<PRE>";
  • Вопрос задан
  • 137 просмотров
Подписаться 1 Простой 6 комментариев
Решения вопроса 1
FanatPHP
@FanatPHP
Чебуратор тега РНР
$array = json_decode(str_replace("\xEF\xBB\xBF",'',$response), true);
Ответ написан
Ответы на вопрос 1
zkrvndm
@zkrvndm
Архитектор решений
При условии, что JSON валидный, парсишь его так:
$array = json_decode($response, true);
echo $array['list'][0]['name1'];

Обрати внимание, что вторым параметром в json_decode надо передавать true, если хочешь получить массив.
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы