2017-05-30 1 views
0

Je veux ajouter une propriété à la liste en C#, alors je veux créer un JObject pour définir la valeur et additionner des valeurs après, puis j'ai besoin de convertir mon List <Object> à un JArray, puis à Je veux ajouter mon jsonObject à JArray, puis retourner mon JArray sous forme Json pour l'affichage à l'écran ou pour aller à travers le JsonArray pour afficher chaque résultat sur une table javascript, mais à la fin du chose que je reçois cette erreur est:Comment ajouter une propriété json à un tableau Json.net

"Uncaught TypeError: Cannot use 'in' operator to search for 'length' in [{"client":{"id":1001,"debtJanuary":500000"....

double total = 0; 
JArray jsonarray = null; 
JObject jsonobject = null; 
List<ClientAccount> list = null; 

try 
{ 
    list = ClientBussinesLayer.getListClientCash(id); 

    for(ClientAccount item in list) 
    { 
     total += item.debtJanuary + item.debtFebruary + item.debtMarch; 
    } 

    jsonobject = new JObject(); 
    jsonobject.Add("totalDebt", total); 
    jsonobject.Add("statusList", "success"); 


    jsonarray = JArray.FromObject(list); 
    jsonarray.Add(jsonObject); 

}catch(Exception ex) 
{ 
    error 
} 

return JsonConvert.SerializeObject(jsonarray); 


fnSuccessList: function (data) { 

    var strHtml = ''; 
    var list = jQuery.parseJSON(data); //also i tried with data.d but dont work 

    $.each(list, function (index, item) { 
     strHtml += '<tr>'; 
     strHtml += ' <td>' + item.debtJanuary + '</td>'; 
     strHtml += ' <td>' + item.debtFebruary + '</td>'; 
     strHtml += ' <td>' + item.debtMarch + '</td>'; 
     strHtml += '</tr>' 
    }); 


    $("#table").append(strHtml); 
} 

Répondre

0

Vous devez utiliser la boucle foreach pour la place:

foreach(var item in list) 
    { 
     total += item.debtJanuary+item.debtFebruary + item.debtMarch; 
    }