@SET1

Не могу пропарсить json. Поможете?

Надо через foreach пропарсить json.

Делал вот так:

$arr = json_decode('[
  {
    "name": "test1",
  },
  {
    "name": "test2",
  }
]', true);
            
            foreach($arr as $item) {
                echo $item['name'];
            }


после выполнения кода страница пустая, то есть ответа нет.
  • Вопрос задан
  • 105 просмотров
Решения вопроса 2
profesor08
@profesor08 Куратор тега PHP
Неправильный формат. Лишние запятые. Переда закрывающей скобкой не должно быть запятых.
Ответ написан
Комментировать
JSON невалидный, из него нужно убрать запятые в конце строк, тогда код заработает.
Правильно будет:
[
  {
    "name": "test1"
  },
  {
    "name": "test2"
  }
]

HINT: наверное полезно обрабатывать ошибки, в данном случае хотя бы с помощью https://www.php.net/manual/ru/function.json-last-e... и https://www.php.net/manual/ru/function.json-last-e...
HINT2: https://jsonlint.com/
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Ну во первых у вас JSON неправильно описан. Надо так ...
$arr = json_decode(' {"my_array": [
  {
    "name": "test1"
  },
  {
    "name": "test2"
  }
]}', true);


Во вторых научитесь выводить ошибки в PHP и печатать разные структуры - функция print_r($arr);
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽