下面的輸出來自php json_encode。我們在這裏看到的是0849是兩次。因爲JavaScript只使用sn來獲取值,爲什麼我們需要「0」值。主要問題是速度執行。如果800 KB的數據可能可以減少到400 KBphp json編碼
{"success":"true","total":968,"data":[{"0":"0849","sn":"0849" }]
如果沒有解決方案,我必須作出一個腳本在json_encode所以沒有必要兩次數據transter過濾。
下面的輸出來自php json_encode。我們在這裏看到的是0849是兩次。因爲JavaScript只使用sn來獲取值,爲什麼我們需要「0」值。主要問題是速度執行。如果800 KB的數據可能可以減少到400 KBphp json編碼
{"success":"true","total":968,"data":[{"0":"0849","sn":"0849" }]
如果沒有解決方案,我必須作出一個腳本在json_encode所以沒有必要兩次數據transter過濾。
0條目是因爲您的數組包含0條目!我會猜測你是從數據庫中檢索它,使用類似mysql_fetch_array
;在這種情況下,您可以簡單地更改爲使用mysql_fetch_assoc
(它返回一個直向前關聯數組),或者將MYSQL_ASSOC
作爲第二個參數傳遞給mysql_fetch_array
。如果您使用其他數據庫來源,則存在類似的功能。
如果它不是來自數據庫(或者您需要其他數字鍵),您可以隨時過濾數值。您可以串起一堆array_ *函數一起做,或者只是一個foreach循環:
foreach ($data as $k => $v) { if (is_int($k)) { unset($data[$k]); } }
我得到了完全相同的奇怪的JSON輸出...所以我想你的答案是正確的!謝謝你:) – 2010-05-22 04:51:07
是的,謝謝我解決它。儘管第二個不同。它對我很重要。從328.4 kb到158.2 kb。需要優化更多.... – hafizan 2010-05-22 04:56:26
你可能想顯示多一點的代碼 - 即什麼是產生正在傳遞的對象' json_encode'。 – Amber 2010-05-22 04:44:27