我需要将json传递给MVC中的控制器。我的方法返回一个字符串列表,然后将其转换为带有字符串数组的json。由于一些前端的复杂性,我应该将结果作为基本对象的数组返回,例如而不是["Item1", "Item2", "Item3"]
等我需要通过[{item: "Item1"}, {item: "Item2"}, {item: "Item3"}]
。
我创造了一些有效的东西,但它需要大量的重复。我想知道是否已经有内置的东西,或者只是更好的逻辑来完成这些任务。
新的超级基础课程:
public class ObjectConverted
{
public string item { get; set; }
}
转换器类:
public class Converter
{
public List<ObjectConverted> convertToObjects(IEnumerable<string> listOfStrings)
{
List<ObjectConverted> listConverted = new List<ObjectConverted>();
foreach (string i in listOfStrings)
{
ObjectConverted oc = new ObjectConverted();
oc.item = i;
listConverted.Add(oc);
}
return listConverted;
}
}
并将其传递给控制器,如:
public ActionResult Competitors()
{
IEnumerable<string> strings = getItemStrings();
Converter c = new Converter();
List<ObjectConverted> objects = c.convertToObjects(strings);
return Json(objects, JsonRequestBehavior.AllowGet);
}
答案 0 :(得分:4)
如何将它转换为返回匿名类的linq?
public ActionResult Competitors()
{
return Json(getItemStrings().Select(x => new { Item = x }), JsonRequestBehavior.AllowGet);
}