2010-10-20 121 views
3

比方說,我得到了以下JSON對象:使用字符串獲取JSON值

var jsonResult = { 
    "result": [ 
     { "UserName": "joga", "FirstName": "Jonas", "LastName": "G" } 
     { "UserName": "sss", "FirstName": "Abra", "LastName": "p" } 
    ] 
}; 

我得到了一個數組:

var cols = ["UserName", "LastName"]; 

我怎麼去通過JSON對象,並建立一個只使用指定列的字符串。

猜謎遊戲:

var rows = '<tr>'; 
$.each(jsonResult.result, function(jsonKey, jsonValue) { 
    $.each(cols, function(i,columnName) { 
    rows += '<td>' + jsonValue.attr(columnName) + '</td>';  
    }); 
}); 

誰能告訴我工作的代碼? ;)

回答

4

只需使用jsonValue [columnName]而不是jsonValue.attr(columnName)。在JavaScript中,obj [key]允許您訪問具有變量的屬性。

var jsonResult = { 
    "result": [ 
     { "UserName": "joga", "FirstName": "Jonas", "LastName": "G" }, 
     { "UserName": "sss", "FirstName": "Abra", "LastName": "p" } 
    ] 
}; 

var cols = ["UserName", "LastName"]; 

var rows = '<tr>'; 
$.each(jsonResult.result, function(jsonKey, jsonValue) { 
    $.each(cols, function(i, columnName) { 
    rows += '<td>' + jsonValue[columnName] + '</td>';  
    }); 
});