PHP:var_dump从json_decode中吐出错误的格式

时间:2012-12-10 23:25:48

标签: php json var-dump

我的代码:

$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.

我做错了什么?

2 个答案:

答案 0 :(得分:6)

var_dump打印换行符。浏览器不会呈现换行符。

尝试echo "<pre>"; var_dump($json_output); echo "</pre>";

答案 1 :(得分:1)

您正在进行var转储,以访问您将执行以下操作的属性: $ seg_id = $ json_output-&gt; timetableresult-&gt; ttitem-&gt; segment [0] - &gt; segmentid; 我并没有真正仔细研究你的json的结构,但这大概是你想要的。

或... 如果你这样做 foreach($ json_output-&gt; timetableresult-&gt; ttitem as $ item){    后续代码var_dump($项目); }

您将开始了解如何访问所需的所有部分。