簡體   English   中英

使用JavaScript(jQuery)解碼JSON數組(從PHP)

[英]decoding an JSON array (from PHP) in Javascript (jQuery)

我首先編寫JSON:

$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
print json_encode(array(
    "array" => $arr
));

然后在jQuery中,我這樣做:

j.post("notifications.php", {}, function(data){

現在這是我有點困惑的地方,就像我通常會做的那樣:

data.array

要獲取數據,但是我不確定如何處理數組。 data.array[1]無效。

謝謝!

PHP的關聯數組成為javascript中的對象(哈希)。

data.array.a === 1
data.array.b === 2
// etc

如果要枚舉這些值

for ( var p in data.array )
{
  if ( data.array.hasOwnProperty( p ) )
  {
    alert( p + ' = ' + data.array[p] );
  }
}

@Peter已經解釋過,關聯數組在PHP中被編碼為JSON對象。

因此,您也可以將PHP數組更改為:

$arr = array(1,2,3,4,5); // or array('a', 'b', 'c', 'd', 'e');

但是,另一個重要的一點是要確保jQuery將來自服務器的響應識別為JSON而不是文本。 為此,將第四個參數傳遞給post()函數:

j.post("notifications.php", {}, function(data){...}, 'json');

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM