2011-09-16 30 views
1

我有一個PHP多維數組,我使用JSON_encode()轉換爲JSON。在json對象中訪問數值屬性

我使用的Drupal所以對於那些不熟悉它,Drupal的陣列往往有按鍵,看起來就像是:

$some_array['und']['0']['value'] 

所以我的JSON對象最終看起來像:

some_array.und.0.value 

現在問題是,當使用上述語法來檢索值時,我在FB控制檯中發現以下JS錯誤:「運行符後缺少名稱」

而且這個數據意味着有一個jQuery模板中使用,所以我試圖阿洛斯直接在我的模板訪問這些數據用:

${field_city.und.0.value} 

女巫遺憾的是沒有工作,要麼..

會如何我去解決這個問題?我可以通過JS以某種方式訪問​​此proprety嗎?或者有沒有一種方法,我有JSON_encode函數取代所有0,讓我們說「零」?甚至在解析JSON字符串時替換'0'?

建議非常appreicated。

回答

2

除了使用點符號,你可以使用普通的數組符號來訪問JSON節點:

some_array.und['0'].value 
+0

感謝亞歷克斯的回答,我會放棄這更多的測試和讚美你。 – silkAdmin

3

嘗試使用some_array.und [「0」] .value來訪問它。 '0'不是一個JavaScript對象的有效名稱,這就是爲什麼通過它訪問它的原因。記譜法不起作用。 但是,如果通過方括號訪問它,則可以訪問任何名稱的密鑰。

+0

呀似乎是工作,感謝您的快速答覆 – silkAdmin