2012-06-11 29 views
0

我正在使用php。我无法使我的输出正常工作。我用yql来刮取html,所以我的json文件并不完美。例如,可变输出json数据的问题

{ 
"td": [ 
    { 
    "a": { 
    "class": "audioPlayer", 
    "href": "http://files.emfcdn.com/downloads/audio/hooks/3567.mp3", 
    "img": { 
    "border": "0", 
    "class": "audioPlayer", 
    "height": "22", 
    "onmouseout": "this.src='/images/music/songplay-norm.jpg'", 
    "onmouseover": "this.src='/images/music/songplay-over.jpg'", 
    "src": "/images/music/songplay-norm.jpg", 
    "width": "30" 
    } 
    } 
    }, 
    { 
    "p": "2." 
    }, 
    { 
    "img": { 
    "alt": "Mandisa", 
    "id": "ctl00_ctl00_cphMain_cphMiddleColumn_grdSongs_ctl03_imgAlbum", 
    "src": "http://objects.klove.com/Common/Thumbnail.aspx?f=/art/albumart/1704.jpg&s=58&", 
    "style": "border-width:0px;" 
    } 
    }, 
    { 
    "a": { 
    "href": "/music/artists/mandisa/songs/good-morning-(feat.-tobymac)-lyrics.aspx", 
    "id": "ctl00_ctl00_cphMain_cphMiddleColumn_grdSongs_ctl03_hypTitle", 
    "style": "font-weight:bold;", 
    "content": "Good Morning (feat. tobyMac)" 
    }, 
    "br": null, 
    "p": { 
    "a": { 
    "href": "/music/artists/mandisa/", 
    "id": "ctl00_ctl00_cphMain_cphMiddleColumn_grdSongs_ctl03_Hyperlink1", 
    "content": "Mandisa" 
    }, 
    "content": "by " 
    } 
    }, 
    { 
    "p": "What If We Were Real" 
    }, 
    { 
    "style": "width:110px;", 
    "a": { 
    "href": "http://click.linksynergy.com/fs-bin/stat?id=SUbYnR25dhw&offerid=146261&type=3&subid=0&tmpid=1826&RD_PARM1=http%253A%252F%252Fitunes.apple.com%252Fus%252Falbum%252Fid425892874%253Fi%253D425892890%2526uo%253D4%2526partnerId%253D30", 
    "id": "ctl00_ctl00_cphMain_cphMiddleColumn_grdSongs_ctl03_hypItunes", 
    "target": "_blank", 
    "content": "iTunes" 
    }, 
    "p": { 
    "a": { 
    "href": "http://rads.stackoverflow.com/amzn/click/B004SBW1LS", 
    "id": "ctl00_ctl00_cphMain_cphMiddleColumn_grdSongs_ctl03_hypAmazon", 
    "target": "_blank", 
    "content": "Amazon" 
    }, 
    "content": "| " 
    } 
    } 
] 
} 

,这是我的一个项目从我的网站使用yql的HTML刮。我想变量回应,“如果我们是真实的”。但json对象的标题是“p”,我不知道如何从中提取“如果我们是真实的”。

香港专业教育学院尝试,

$albumname = $item->p 

,但你可以看到有多个 “P” 的列表中。任何帮助都会很棒。谢谢。

回答

1

的第一件事,当我是来反对这样的怪物,我只是这样做:

$estr = json_decode($str,TRUE); 
echo "<pre>"; 
print_r($estr); 
echo "</pre>"; 

那么它很容易地发现:

echo $estr["td"][4]["p"];