簡體   English   中英

ajax:從json數組中提取json對象

[英]ajax: extract json object from array of json

JSON(來自api的內部數組):

[{"id":"001", "name":"john", "age":"40"}, {"id":"002", "name":"jane", "age":"30"}]

阿賈克斯:

  $.ajax({                                      
  url: 'interface_API.php',                                                              
  dataType: 'json',                    
  success: function(data)         
  {
    for(var i in data){
        var row = data[i];

        var id = row[0];            
        var name = row[1];
        var age = row[2];

    $('#output').append("<tr width='50%'><td>"+id+"</td><td>"+name+"</td><td>"+age+"</td></tr>"); 
    }
  } 
});

API使用它來構造:

if(mysqli_num_rows($output)){
     while($row = mysqli_fetch_assoc($output)){
         $json[] = $row;
     }
}

但是我的輸出對於每個.append都是“未定義”的

我如何從數組中提取每個json對象並追加到頁面?

改變這個:

var id = row[0];            
var name = row[1];
var age = row[2];

對此:

var id = row['id'];            
var name = row['name'];
var age = row['age'];

或這個:

var id = row.id;
var name = row.name;
var age = row.age;

因為您已經在此處循環:

for(var i in data){
    var row = data[i]; // <----here

因此,您只需要使用js對象中的鍵來引用它即可。

您可以這樣更改for循環:

$.ajax({                                      
  url: 'interface_API.php',                                                              
  dataType: 'json',                    
  success: function(data)         
  {
    for(var i in data){
        var row = data[i];

        var id = row.id;            
        var name = row.name;
        var age = row.age;

$('#output').append("<tr width='50%'><td>"+id+"</td><td>"+name+"</td><td>"+age+"</td></tr>"); 
}
} 
});

請在檢索時使用密鑰標識json對象

var list=[
        {"id":"1","text":"test1"},
        {"id":"2","text":"test2"},
        {"id":"3","text":"test3"},
        {"id":"4","text":"test4"}

         ]


    alert(list[2].id)

暫無
暫無

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

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