【问题标题】:How to add json property to a Json.net Array如何将 json 属性添加到 Json.net 数组
【发布时间】:2017-10-31 14:09:53
【问题描述】:

我想在C#中给List添加一个属性,然后我想创建一个JObject来设置值并求和一些值之后,然后我需要将我的List <Object>转换为JArray,然后我想将我的 jsonObject 添加到 JArray,然后以 Json 形式返回我的 JArray 以在屏幕上显示,或者通过 JsonArray 在 javascript 表上显示每个结果,但最后我唯一得到的是这个错误:

"未捕获的 TypeError: 无法使用 'in' 运算符搜索 'length' 在 [{"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);
}

【问题讨论】:

    标签: c# json ajax list each


    【解决方案1】:

    你应该使用 foreach 循环来代替:

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

    【讨论】:

      猜你喜欢
      • 2013-03-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多