Как мне декодировать результат JSON для извлечения имен ключей? - PullRequest
0 голосов
/ 17 января 2011

Ниже приведен результат вызова JSON API:

[{"title":"Teqpad.com|| Find Pageviews,Visits,Visitors,Unique Visitors,Website Worth...","url":"http:\/\/www.teqpad.com\/","top_tags":{"analytics":64,"statistics":57,"tools":43,"seo":41,"traffic":40,"search":22,"web":20,"blog":18,"blogging":14,"website":13}}]

Я хочу извлечь только top_tags например:

analytics,statistics,tools,seo,traffic,search

Как мне сделать это с json_decode()?

Ответы [ 2 ]

2 голосов
/ 17 января 2011

Ваш JSON деформирован, ключ top_tags ссылается на некорректный объект (ключи, но не значения) - он должен ссылаться на массив, например:

[{"title":"Teqpad.com|| Find Pageviews,Visits,Visitors,Unique Visitors,Website  Worth...","url":"http:\/\/www.teqpad.com\/","top_tags":["analytics","statistics","tools","seo","traffic","search","web","blog","blogging","website"]}

Затем вы проанализируете его, используяследующий код:

$json = ...
$obj = json_decode($json);
$top_tags = $obj[0]->top_tags;
print_r($top_tags);

Пример кодовой панели

0 голосов
/ 17 января 2011
$obj = json_decode($json, true);
$top_tags = array_keys($obj[0]['top_tags']);
print_r($top_tags);

Рабочий пример: http://codepad.org/QWjQQ097

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