基本上,我試圖訪問一個API來檢索數據。我只限於一定數量的連接,所以我的計劃是檢索數據,將其保存到我的主機上的文本文件中,然後從該文件中儘可能多地讀取。然後,我會使用cron作業每隔幾個小時用新數據重新填充文件。
無論如何,我已經登錄到API並且檢索了數據,並且可以顯示沒有問題的「live」數據。
嘗試保存數據並從文本文件中讀取時出現故障。這是一個多深度數組。
的retreiving代碼
$ch = curl_init();
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_URL, 'URL GOES HERE');
//prepare the field values being posted to the service
$data = array("appkey" => "KEY","account" => "ACCOUNT");
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
//make the request
$result = curl_exec($ch);
curl_close($ch);
這得到代碼罰款,我可以顯示
$properties = json_decode($result, true);
$properties = $properties['properties'];
//pr($parsed_json);
foreach($properties as $key => $value) {
if ($_GET[section] == "sale") {
if ($value['category_id'] == "1") {
displayProp ($address, $value['price'], $value['qualifier_name'], $value['summary']);
}
} elseif ($_GET[section] == "rent") {
if ($value['category_id'] == "2") {
displayProp ($address, $value['price'], $value['freq_name'], $value['summary']);
}
}
}
和工作原理。
我再嘗試和JSON保存到一個文本文件
file_put_contents('properties.txt', json_decode($result));
這將文件保存好數據。但是當試圖從中讀取時,無論我嘗試什麼,我都會得到隨機錯誤。有人可以幫助閱讀文本文件並輸出數組嗎?
隨着JSONLint我驗證數據,並得到以下錯誤
Parse error on line 1:
"{ \"status\": \
^
Expecting '{', '['
任何想法?
時做了JSON是在文本文件中顯示完美,但得到的數據和數組我得到警告的時候:在/var/sites/s/steve-morris1.co.uk/public_html/非法串偏移「屬性」上線新的/ INC/properties.php 27 警告:()在/var/sites/s/steve-morris1.co.uk/public_html/new/inc/properties.php提供的foreach無效參數上線43 – James 2014-12-02 21:51:07
這是因爲您正在嘗試循環原始數據。您需要閱讀它,*然後*在原始數據上執行'json_decode',然後才能在PHP中循環。 – 2014-12-02 23:15:10