2012-12-10 71 views
1
吐出格式錯誤

我的代碼:PHP:的var_dump從json_decode

$json_data = file_get_contents($json_url,0,null,null); 
$json_output = json_decode($json_data); 
var_dump($json_output); 

這是什麼的var_dump在一個大線,在所有未格式化吐出:

object(stdClass)#1 (1) { ["timetableresult"]=> object(stdClass)#2 (1) { ["ttitem"]=> array(17) { [0]=> object(stdClass)#3 (1) { ["segment"]=> array(8) { [0]=> object(stdClass)#4 (3) { ["segmentid"]=> object(stdClass)#5 (2) { ["mot"]=> object(stdClass)#6 (3) { ["@displaytype"]=> string(1) "G" ["@type"]=> string(1) "G" ["#text"]=> string(5) "GÃ¥ng" } ["distance"]=> int(1008) } ["departure"]=> object(stdClass)#7 (2)... etc.etc. 

我在做什麼錯?

+0

您是否安裝了xdebug?它會增加很多額外的信息 - 以及格式化你的var_debug。嘗試使用print_r而不是var_dump) – Luke

+0

查看源代碼,或者執行:'echo「

".var_dump(json_output)."
」;' –

+0

print_r得到結果:「stdClass Object([timetable]] => stdClass Object([ttitem] => Array([0 ] => stdClass Object [[] => stdClass Object([@displaytype] => G [@type] => stdClass Object([seg]] => stdClass Object G [#text] ... etc.etc「。儘管如此,仍然在一大行中。 –

回答

6

var_dump打印換行符。瀏覽器不渲染換行符。

嘗試echo "<pre>"; var_dump($json_output); echo "</pre>";

+0

並且有答案:)謝謝! –

+1

請接受然後轉向。 :) http://meta.stackexchange.com/questions/5234/how-does-accepting-an-answer-work – yoshi

1

你正在做一個變種轉儲,要訪問的屬性,你會做這樣的事情: $ seg_id = $ json_output-> timetableresult-> ttitem->段[0] - > segmentid ; 我其實並沒有仔細研究你的json的結構,但這大概是你想要的。

或者...... 如果你這樣做 的foreach($ json_output-> timetableresult-> ttitem爲$項目){ 的var_dump($項目); }

你會開始看到如何訪問你想要的所有部分。

+0

你是對的!但是,我有9000條線要經過(頭痛!)!無論如何,我有一個正確的答案! :) –

+0

我看,我不明白這個問題是純粹的格式化顯示,我應該多加註意! –