1

我的代码:

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

我究竟做错了什么?

4

2 回答 2

6

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

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

于 2012-12-10T23:29:16.937 回答
1

您正在执行 var 转储,要访问您可以执行以下操作的属性: $seg_id = $json_output->timetableresult->ttitem->segment[0]->segmentid; 我实际上并没有仔细查看您的 json 的结构,但这大约是您想要的。

或者...如果你这样做 foreach($json_output->timetableresult->ttitem as $item) { var_dump($item); }

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

于 2012-12-10T23:30:01.677 回答