我串連一個開放平台,返回一個json資料如下
$json_data = postData($url, $postData);
$array = json_decode($json_data,true);
echo ("
");
print_r(postData($url, $postData));
上面的代碼就是平台給出的代碼,print_r 輸出的的就是下面的樣子。
{"status":0,"total":4,"data":"[{\"Gid\":\"123\",\"CardID\":\"15301\",\"Title\":\"標題一\"},\"Gid\":\"456\",\"CardID\":\"15333\",\"Title\":\"標題二\"},\"Gid\":\"789\",\"CardID\":\"15405\",\"Title\":\"標題三\"}]"}
我想迴圈輸出data裡的Title,CarID等資料,不知道應該怎麼轉換和調用
我能通過
echo ("
");
echo "total=".$array['total'];
讀取到total的值,但是data中的相關欄位,不知道怎麼讀取和輸出。麻煩幫著看下。
回複討論(解決方案)
你返回的json有問題,少了兩個{
{"status":0,"total":4,"data":"[{\"Gid\":\"123\",\"CardID\":\"15301\",\"Title\":\"標題一\"},\"Gid\":\"456\",\"CardID\":\"15333\",\"Title\":\"標題二\"},\"Gid\":\"789\",\"CardID\":\"15405\",\"Title\":\"標題三\"}]"}
修改為:
{"status":0,"total":4,"data":"[{\"Gid\":\"123\",\"CardID\":\"15301\",\"Title\":\"標題一\"}, {\"Gid\":\"456\",\"CardID\":\"15333\",\"Title\":\"標題二\"}, {\"Gid\":\"789\",\"CardID\":\"15405\",\"Title\":\"標題三\"}]"}
迴圈輸出:
echo '';$response = '{"status":0,"total":4,"data":"[{\"Gid\":\"123\",\"CardID\":\"15301\",\"Title\":\"標題一\"},{\"Gid\":\"456\",\"CardID\":\"15333\",\"Title\":\"標題二\"},{\"Gid\":\"789\",\"CardID\":\"15405\",\"Title\":\"標題三\"}]"}';$ret = json_decode($response, true);$data = json_decode($ret['data'], true);foreach($data as $val){ echo 'Gid:'.$val['Gid'].'
'; echo 'CardID:'.$val['CardID'].'
'; echo 'Title:'.$val['Title'].'
';}
Gid:123
CardID:15301
Title:標題一
Gid:456
CardID:15333
Title:標題二
Gid:789
CardID:15405
Title:標題三
非常感謝,是對的,謝謝。