作者keisuke08 (车市回温了吗?回温在哪里)
看板PHP
标题[请益] json_decode後的资料如何使用?
时间Mon Mar 10 10:06:09 2014
$content = file_get_contents($siteurl);
$data = json_decode($content);
echo $data[0]->title." ".$data[0]->showinfo[0]->time;
资料都出不来,是用法有错误吗?
用print_r显示$data的结果(只贴上第一笔)
Array
(
[0] => stdClass Object
(
[version] => 1.4
[UID] => 526aa481e44da0ea8d4168c4
[title] => 2014TIFA-拉布兰之心人声音乐会
[category] => 1
[showInfo] => Array
(
[0] => stdClass Object
(
[time] => 2014/03/07 19:30:00
[location] => 台北市中山南路21-1号
[locationName] => 国家演奏厅
[onSales] => Y
[price] => 400,500
[latitude] => 25.0348366
[longitude] => 121.5176314
)
[1] => stdClass Object
(
[time] => 2014/03/08 19:30:00
[location] => 台北市中山南路21-1号
[locationName] => 国家演奏厅
[onSales] => Y
[price] => 400,500
[latitude] => 25.0348366
[longitude] => 121.5176314
)
)
[showUnit] =>
[discountInfo] =>
[descriptionFilterHtml] =>
[imageUrl] =>
[masterUnit] => Array
(
[0] => 国立中正文化中心
)
[subUnit] => Array
(
[0] =>
)
[supportUnit] => Array
(
[0] =>
)
[otherUnit] => Array
(
[0] => 主要艺文支持:JTI
)
[webSales] =>
http://www.artsticket.com.tw/CKSCC2005/Product/Product00/ProductsDetailsPage.aspx?ProductID=oK4bYlG1GfzBcHkQto2QJ
[sourceWebPromote] =>
http://tifa.ntch.edu.tw/
[comment] =>
[editModifyDate] => 2013/10/28 14:46:13
[sourceWebName] => 两厅院售票网
[startDate] => 2014/03/07
[endDate] => 2014/03/08
[status] => success
[total] => 111
)
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 59.124.108.82
1F:→ liaosankai:先 json_decode($content, true); 试试 03/10 10:19
2F:→ rainlay:同楼上 解完後用阵列方式取 03/10 10:31
3F:→ alog:stdObject 取值方式是 $object->column_name 03/10 10:45
4F:→ alog:json_decode 不见得需要转成 array 就纯粹使用差异 03/10 10:45
5F:→ alog:另外就是建议用 foreach 去列举资料 03/10 10:46
6F:→ alog:因为如果直接 $object[0]->object2[0]->column_name 03/10 11:01
7F:→ alog:在部分资料不齐全下会报错 03/10 11:02
8F:推 bobju:json_decode 预设是解成物件, 不过个人使用经验上解成阵列 03/10 11:22
9F:→ bobju:比较方便使用, 因为解成物件的话 底下可能会有物件包阵列的 03/10 11:22
10F:→ bobju:情形 资料形态不一致 处理起来很杂很讨厌 03/10 11:23
11F:→ bobju:1楼的做法是解成阵列的做法 我也会这麽做 03/10 11:25
12F:推 tails32100:我会用预设的,因为还是可以用foreach取 03/10 11:31
13F:→ tails32100:另外,开发中只要出错,就会知道取值的方式错误了 03/10 11:31
14F:→ tails32100:Array通常要用foreach, Object通常是要个别取值 03/10 11:32
15F:→ tails32100:当然这只是习惯问题啦, 其实两个方法都可以用XD 03/10 11:34
16F:推 bobju:这不光是习惯问题而已, 解成阵列的确比物件好处理得多 尤其 03/10 13:03
17F:→ bobju:若是不均匀的多层树 或是需要递回处理的 物件夹杂阵列的结构 03/10 13:04
18F:→ bobju:真的会搞死人 03/10 13:04
19F:推 liaosankai:↑楼上+1,最近被递回树搞到XD 03/10 13:24
20F:→ keisuke08:感谢各位回覆,已解决,转成阵列方式好用很多!!! 03/10 17:48