2012-12-18 76 views
0

從查詢中攫取JSON數組。這不是在數據中打印keyss。JSON數組不打印鍵

我想到:

["0":"3675E5010E2738","1":"4114009","2":"2012-11-05","3":"Active","4":"2012-12-11"] 

我能得到什麼?

["3675E5010E2738","4114009","2012-11-05","Active","2012-12-11"] 

JSON從PHP/JSON編碼產生:

$array = $model->ListData(); 
echo json_encode($array); 

我已經試過同時裝入loadRowList();loadAssocList();並且都不產生密鑰。

+1

你期望的不是JSON,var_dump($ array);'給你什麼? – Musa

+0

奇怪的是我所看到的大多數例子都是與數據相關的鍵。好吧。猜猜我只需要使用數字。 – Plummer

回答

2

因爲這不是JSON如何代表陣列

["0":"3675E5010E2738","1":"4114009","2":"2012-11-05","3":"Active","4":"2012-12-11"]不是有效的JSON。

{"0":"3675E5010E2738","1":"4114009","2":"2012-11-05","3":"Active","4":"2012-12-11"}是,但這是對象的表示,而不是數組。

如果$model->ListData();返回一個數組,那麼就像您的代碼所表明的那樣,那麼您得到的表示是正確的。

無論如何,因爲json[0]會以同樣的方式工作,無論它是數組還是帶數字鍵的對象,它有什麼關係?

+0

第一次使用JSON。不知道。 PHP中使用的數字鍵在一段時間後變得混亂。我希望能用JSON使用assoc數組。 – Plummer

+1

退房http://json.org上有效的JSON – Dancrumb

+0

這樣的細節,從JSON/AJAX獲取數據會是這樣的: '$阿賈克斯({ 網址:網址, 數據類型:JSON, 成功:函數(data){('#test')。html(data.0); }});' – Plummer

1

你有從0開始的數字鍵。你不需要有鑰匙來正確解釋它。

0

請記住,JSON是JavaScript對象表示法,這意味着它使用JavaScript語法。

變種myObject的= { 0: '零', 1: '一', 2: '二' }; var myArray = [ 'zero', 'one', 'two' ];數組和對象用於不同的目的。對象支持鍵,數組不支持。