我正在构建一个MVC远程共享点应用程序&已编写代码将ListItemCollection导出为JSON,而无需知道字段名称。对于从视图传递给控制器的formdata的自定义模型,我该如何做同样的事情?这是JSON导出代码的片段,它显示了我想要做的事情
foreach (ListItem oListItem in IndListItem)
{
int fcount =oListItem.FieldValues.Keys.Count;
for (int j = 0; j < fcount; j++)
{
fname= oListItem.FieldValues.Keys.ElementAt(j);
fval = HttpUtility.HtmlEncode(oListItem.FieldValues[fname].ToString());
}
json += '"' + fname + '"' + ":" + '"' + fval + '"' + ",";
}
我想要实现像
这样的东西sp.ListItem oListItem = list.GetItemById(id);
foreach (xField in formdata)
{
oListItem[xField] = formdata.getField(xField).ToString();
}
提前致谢
答案 0 :(得分:0)
您不必自己生成JSON。您有几个选择:
在你的MVC动作中,返回一个JsonResult。
public ActionResult MyListAsJson() {
/* get list */
return Json(IndListItem);
}
var serializer = new JavascriptSerialzer();
var json = serializer.Serialize(IndListItem);
其他常见替代方案包括DataContractJsonSerializer和Json.NET