2012-06-28 46 views
0

如果我有一個PHP文件,與數字鍵輸出JSON數據,如jQuery的JSON與陣列,數字鍵

<?php 
$array[1] = "abcd"; 
$array[2] = "efgh"; 
$array[3] = "1234"; 
$array[4] = "5678"; 

echo json_encode($array); 
?> 

我如何訪問值說鍵4?下面的「data.4」中的整數正在破壞代碼。任何幫助將不勝感激。謝謝!

$.ajax({ 
         type: "GET", 
         url: "http://localhost:8888/myapp/json/json_data", 
         async: false, 
         beforeSend: function(x) { 
          if(x && x.overrideMimeType) { 
           x.overrideMimeType("application/j-son;charset=UTF-8"); 
          } 
     }, 
     dataType: "json", 
     success: function(data){ 
     //$("#box").html(JSON.stringify(data, null, 4)); 
     $("#box").append("<br/>" + data.4) 
     } 
    }); 
+0

不能這樣做,沒有。做 - >'data [「4」]' – Ohgodwhy

回答

3

使用方括號進入酒店:data['4']

注意:你的PHP是而不是返回一個數組,但是一個對象:{"1":"abcd","2":"efgh","3":"1234","4":"5678"}

PS。你在overrideMimeType中有一個錯字。你不應該重寫這個,因爲你正在使用jQuery。有關替代方法,請參閱$.getJSON

+0

謝謝。你絕對是對的。我很感激! – David

+0

我應該在評論中停止迴應我的回答。 +1! – Ohgodwhy

+1

如果數組鍵不是手動設置在PHP端,'json_encode'將返回一個數組而不是一個對象。 – bfavaretto