2016-01-31 118 views
2

我需要將json傳遞給MVC中的控制器。我的方法返回一個字符串列表,然後使用字符串數組將其轉換爲json。由於某些前端複雜性,我應該返回結果作爲基本對象的數組,例如而不是["Item1", "Item2", "Item3"]等我需要通過[{item: "Item1"}, {item: "Item2"}, {item: "Item3"}]將字符串列表轉換爲簡單對象列表

我創造了一些可行的方法,但這需要大量的重複。我想知道是否已經有內置的東西,或者只是一個更好的邏輯來完成這樣的任務。

一個新的超級基本類:

public class ObjectConverted 
{ 
    public string item { get; set; } 
} 

A轉換器類:

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); 
} 

回答

4

如何關於其轉換成LINQ其中返回匿名類?

public ActionResult Competitors() 
{ 
    return Json(getItemStrings().Select(x => new { Item = x }), JsonRequestBehavior.AllowGet); 
} 
+0

很好,這條線和我的20+完全一樣:)謝謝! – Turo