将字符串列表转换为简单对象列表
本文关键字:列表 简单 单对象 转换 字符串 | 更新日期: 2023-09-27 18:32:40
我需要将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);
}
如何将其
转换为返回匿名类的 LINQ?
public ActionResult Competitors()
{
return Json(getItemStrings().Select(x => new { Item = x }), JsonRequestBehavior.AllowGet);
}