[php] PHP JSON 객체에서 데이터 처리
JSON 형식의 Twitter Search API의 트렌드 데이터입니다.
다음을 사용하여 파일 가져 오기 :
$jsonurl = "http://search.twitter.com/trends.json";
$json = file_get_contents($jsonurl,0,null,null);
$json_output = json_decode($json);
이 개체의 데이터를 어떻게 사용합니까? 어레이로? [name] 값에서 데이터를 추출하기 만하면됩니다.
JSON 객체에는 다음이 포함됩니다.
stdClass Object
(
[trends] => Array
(
[0] => stdClass Object
(
[name] => Vote
[url] => http://search.twitter.com/search?q=Vote
)
[1] => stdClass Object
(
[name] => Halloween
[url] => http://search.twitter.com/search?q=Halloween
)
[2] => stdClass Object
(
[name] => Starbucks
[url] => http://search.twitter.com/search?q=Starbucks
)
[3] => stdClass Object
(
[name] => #flylady
[url] => http://search.twitter.com/search?q=%23flylady
)
[4] => stdClass Object
(
[name] => #votereport
[url] => http://search.twitter.com/search?q=%23votereport
)
[5] => stdClass Object
(
[name] => Election Day
[url] => http://search.twitter.com/search?q=%22Election+Day%22
)
[6] => stdClass Object
(
[name] => #PubCon
[url] => http://search.twitter.com/search?q=%23PubCon
)
[7] => stdClass Object
(
[name] => #defrag08
[url] => http://search.twitter.com/search?q=%23defrag08
)
[8] => stdClass Object
(
[name] => Melbourne Cup
[url] => http://search.twitter.com/search?q=%22Melbourne+Cup%22
)
[9] => stdClass Object
(
[name] => Cheney
[url] => http://search.twitter.com/search?q=Cheney
)
)
[as_of] => Mon, 03 Nov 2008 21:49:36 +0000
)
답변
이런 뜻인가요?
<?php
$jsonurl = "http://search.twitter.com/trends.json";
$json = file_get_contents($jsonurl,0,null,null);
$json_output = json_decode($json);
foreach ( $json_output->trends as $trend )
{
echo "{$trend->name}\n";
}
답변
를 사용 json_decode($string, true)
하면 객체가 없지만 모든 것이 연관 또는 숫자 인덱스 배열로 제공됩니다. PHP에서 제공하는 stdObject는 공용 속성이있는 멍청한 컨테이너 일 뿐이므로 사용자 고유의 기능으로 확장 할 수 없으므로 처리하기가 더 쉽습니다.
$array = json_decode($string, true);
echo $array['trends'][0]['name'];
답변
정의한 객체 인 것처럼 사용하십시오. 즉
$trends = $json_output->trends;