将字符串列表转换为简单对象列表

本文关键字:列表 简单 单对象 转换 字符串 | 更新日期: 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);
}