как декодировать эту строку JSON? - PullRequest
2 голосов
/ 10 февраля 2010

это то, что я получаю в виде строки из URL-адреса поиска каналов (в кодировке JSON):

{"updated":1265787927,"id":"http://www.google.com/reader/api/0/feed-finder?q\u003dhttp://itcapsule.blogspot.com/\u0026output\u003djson","title":"Feed results for \"http://itcapsule.blogspot.com/\"","self":[{"href":"http://www.google.com/reader/api/0/feed-finder?q\u003dhttp://itcapsule.blogspot.com/\u0026output\u003djson"}],"feed":[{"href":"http://itcapsule.blogspot.com/feeds/posts/default"}]}

Как я могу декодировать его с помощью функции json_decode () в php и получить последний элемент массива («feed»)? я попробовал это с помощью следующего кода, но не повезло

 $json = file_get_contents("http://www.google.com/reader/api/0/feed-finder?q=http://itcapsule.blogspot.com/&output=json");
 $ar = (array)(json_decode($json,true));
 print_r $ar;

Пожалуйста, помогите ..

1 Ответ

2 голосов
/ 10 февраля 2010
$array = json_decode($json, true);
$feed = $array['feed'];

Обратите внимание, что json_decode() уже возвращает массив, когда вы вызываете его с true в качестве второго параметра.

Обновление:

в качестве значения feed в JSON

"feed":[{"href":"http://itcapsule.blogspot.com/feeds/posts/default"}]

- это массив объектов, содержимое $array['feed']:

Array
(
    [0] => Array
        (
            [href] => http://itcapsule.blogspot.com/feeds/posts/default
        )  
)

Чтобы получить URL, вам нужно получить доступ к массиву с помощью $array['feed'][0]['href'] или $feed[0]['href'].

Но это базовая обработка массивов. Возможно, документация Arrays поможет вам.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...