2010-10-20 4 views
3

Disons que je suis l'objet JSON suivant:Obtenir la valeur JSON en utilisant une chaîne

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

Je suis un tableau avec:

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

comment puis-je passer par l'objet JSON et construire une chaîne utilisant uniquement les colonnes spécifiées.

jeu de devinettes:

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

Quelqu'un peut-il me montrer le code de travail? ;)

Répondre

4

Utilisez simplement jsonValue [columnName] au lieu de jsonValue.attr (columnName). En JavaScript, obj [key] vous permet d'accéder à une propriété avec une variable.

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>';  
    }); 
}); 
Questions connexes