1

このようなjson-feedがあり、cURLを使用してデコードする必要があります。

"count":836,
"value":{
"title":"AW-rss",
"description":"Pipes Output",
"link":"http:\/\/pipes.yahoo.com\/pipes\/pipe.info?_id=566903fd393811762dc74aadc701badd",
"pubDate":"Tue, 04 Sep 2012 16:33:30 +0000",
"generator":"http:\/\/pipes.yahoo.com\/pipes\/",
"callback":"",
"items":[
{
"title":"Title",
"description":"Description",
"link":"http://",
"category":"Category",
"pubDate":null,
"guid":"14917809",
"author":"Author",
"y:published":null,
"y:id":{
"permalink":"false",
"value":"14917809"
},
"y:title":"title"
},
//and then it continues like that with several more items.

これは私が使用しているコードですが、私は一生の間、foreachループを取得して実質的なものを提供することはできません。

$query = 'http://pipes.yahoo.com/pipes/pipe.run?_id=566903fd393811762dc74aadc701badd&_render=json';

    $ch = curl_init(); // open curl session

    // set curl options
    curl_setopt($ch, CURLOPT_URL, $query);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);    
    $result = curl_exec($ch); // execute curl session
    $data = json_decode($result);
    curl_close($ch); // close curl session



    **foreach($data['items'] as $item) {
        $guid['guid']}**

ご覧のとおり、フィード内のアイテムのGUIDを取得しようとしています。どんな助けでも大歓迎です。

var_dump($ data); 与える:

object(stdClass)#1 (2) { ["count"]=> int(836) ["value"]=> object(stdClass)#2 (7) { ["title"]=> string(6) "AW-rss" ["description"]=> string(12) "Pipes Output" ["link"]=> string(75) "http://pipes.yahoo.com/pipes/pipe.info?_id=566903fd393811762dc74aadc701badd" ["pubDate"]=> string(31) "Tue, 04 Sep 2012 20:34:56 +0000" ["generator"]=> string(29) "http://pipes.yahoo.com/pipes/" ["callback"]=> string(0) "" ["items"]=> array(836) { [0]=> object(stdClass)#3 (10) { ["title"]=> string(68) "Noggrann chefsassistent till välkänt företag i centrala Stockholm" ["description"]=> string(163) "Har du tidigare erfarenhet av arbete som VD-assistent och önskar bli en del av ett av Sveriges största företag? Då är du den som vi söker, ansök redan idag!" ["link"]=> string(122) "http://www.academicwork.se/jobbannons/noggrann-chefsassistent-till-valkant-foretag-i-centrala-stockholm/stockholm/14917809" ["category"]=> string(16) "Assistent- enkel" ["pubDate"]=> NULL ["guid"]=> string(8) "14917809" ["author"]=> string(13) "Academic Work" ["y:published"]=> NULL ["y:id"]=> object(stdClass)#4 (2) { ["permalink"]=> string(5) "false" ["value"]=> string(8) "14917809" } ["y:title"]=> string(68) "Noggrann chefsassistent till välkänt företag i centrala Stockholm" } [1]=> object(stdClass)#5 (10)

等々。

4

1 に答える 1

2

json_decodeはオブジェクトを返すため、プレーン配列とは少し異なる方法で処理する必要があります。

$data = json_decode($result);

$items = $data->{'value'}->{'items'};
$GUID = array();
foreach($items as $obj)
{
  $GUID[] = $obj->{'guid'};
}

var_dump($GUID);

json_decodeメソッドは、それが役立つ場合は、戻り値を配列(json_decode($ result、true))に変換できることに注意してください。そのようです:

$data = json_decode($result,true);

$items = $data['value']['items'];
$GUID = array();
foreach($items as $obj)
{
  $GUID[] = $obj['title'];
}

var_dump($GUID);
于 2012-09-04T21:39:05.630 に答える