2011-09-12 84 views
1

是的,我讀其他職位,但我仍然不容身影了這一點...傳遞一個多維數組從PHP到jQuery的

我有一個PHP多維數組。

json_encode($myarray); 

給了我這樣的事情...

{"1":[0,0.46,0.23],"2":[0,0.71,0.33],"3":[0,0.7,0.54]} 

是,標註,有很多floaties。我愛他們 ;)。我怎樣才能解析它與jQuery?我試過

var myarray = $.parseJSON(<?php echo json_encode($myarray); ?>); 
alert(myarray[0][0].val()); 

但它沒有工作:/。也許我現在只是啞巴。

感謝您的任何建議!

+0

爲什麼不能正常工作?也許,在你的例子中,這是因爲你不把你的結果放在字符串標籤中。您應該調試您的代碼,查看源代碼或查看錯誤日誌。 – TJHeuvel

+0

['parseJSON()'](http://api.jquery.com/jQuery.parseJSON/)用於包含JSON值的* strings *。然而,JSON本身是合法的JavaScript,在這種情況下不需要將其包裝在字符串中。 – Tomalak

回答

4
var myArray = <?php echo json_encode($myarray); ?> 

由於JSON是Javascript,因此不存在從一種數據類型到另一種數據類型的真正解析。 JSON是javascript的一個子集,它只是兼容的。尤其是jQuery與此無關。

如果數據來自未知來源(例如用戶),您首先需要驗證它。

1

你爲什麼要解析它?

var json = <?php echo json_encode($array); ?> 
+1

json_decode接受JSON字符串,並吐出PHP對象。你會想要使用編碼,這是相反的。 – TJHeuvel

+0

@TJHeuvel:當然,這只是一種類型:) – genesis

+0

謝謝你,完美!現在我甚至理解這個概念! :d – Sserpyc