如何将 json 属性添加到 Json.net 数组
Posted
技术标签:
【中文标题】如何将 json 属性添加到 Json.net 数组【英文标题】:How to add json property to a Json.net Array 【发布时间】: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);
【问题讨论】:
【参考方案1】:你应该使用 foreach 循环来代替:
foreach(var item in list)
total += item.debtJanuary+item.debtFebruary + item.debtMarch;
【讨论】:
以上是关于如何将 json 属性添加到 Json.net 数组的主要内容,如果未能解决你的问题,请参考以下文章
如何将 Dictionary<string,string> 添加到现有 JSON.Net 的 JObject?
如何将json.net添加到Xamarin Forms,本地项目或PCL上?
将服务引用添加到引用了 JSON.NET 库的项目时出现奇怪的问题