Intereting Posts
Как отображать данные из связанных таблиц в CGridview в yii Каков тип этой строки? а: 1: {s: 2: «ан»;} Почему PDO генерирует предупреждения, когда мы говорим, что это не делать? Администрирование паролей пользователей WordPress заблокировано после перемещения серверов Количество строк в строке MySQL Ошибка анализа: синтаксическая ошибка, неожиданный T_SL в строке 23 Как сравнить подобие изображения с помощью php, независимо от масштаба, вращения? Сопоставьте элемент с динамическим значением атрибута Как анализировать XML-файл с пространствами имен? XMPPHP to Openfire Будут ли PHP открываться после 301 переадресации? Создание новой папки tmp для использования PHP? Параметры локализации веб-приложения Перенаправление на страницу администратора / пользователя после входа в систему Импортировать данные из txt-файла в базу данных MySQL с помощью PHP для посещения

Как разобрать этот json с php

Я полностью ноб с json.

Мне нужно разобрать json, который возвращает результат следующим образом:

"response":{ "status":1, "data":{ "16":{ "Offer":{ "id":"16", "advertiser_id":null, "name":"My Offer", "description":null, "require_approval":"0", "require_terms_and_conditions":0, "terms_and_conditions":null, "offer_url":"http://", "preview_url":"http://", } }, "17":{ "Offer":{ "id":"17", "advertiser_id":null, "name":"My Other Offer", "description":null, "require_approval":"0", "require_terms_and_conditions":0, "terms_and_conditions":null, "offer_url":"http://", "preview_url":"http://", } }, }, "errors":[] } 

Мне нужно получить доступ ко всем названиям предложений, но я не могу получить доступ к этому:

 $url = "jsonurl"; $string = file_get_contents($url); $json_a=json_decode($string,true); foreach ($json_a['data']['offer'] as $offer_a) { echo $offer_a[name]; } 

Что я делаю неправильно?

Спасибо всем заранее.

Кажется, вы пропускаете 16 . Но это легко отлаживается, делая это.

 echo '<pre>'; print_r($json_a); die(); 

Это отобразит дерево в массиве / объекте. В этом случае массив.

Но я думаю, это сработает:

 foreach ($json_a['response']['data']['16']['Offer'] as $offer_a) { echo $offer_a['name']; } 

Если вам нужны все имена предложений:

 foreach ($json_a['response']['data'] as $offer){ echo $offer['Offer']['name']; }