A little difficult to explain, but here goes... (using .net 4.5, C#)
We currently have a list of items ( as per below "User") which contains a list of column objects. ie.
 public class TableColumn
{
    public string ColumnHeader { get; set; }
    public string ColumnValue { get; set; }
    public int ColumnWidth { get; set; }  
}
public class User
{
    public string Username { get; set; }
    public string Address1 { get; set; }
    public int Age { get; set; }
    public List<TableColumn> Columns { get; set; }
}
We are working with JQGrid where we are required to pass back Json.
without the nested list we would use :-
var aaData = PatList.Select(d => new string[] { 
              d.Username ,
              d.Address1 ,
              d.Age}).ToArray();
 return Json(new
        {
            sEcho = param.sEcho,
            aaData = aaData,
            iTotalRecords = Convert.ToInt32(totalRowsCount.Value),
            iTotalDisplayRecords = Convert.ToInt32(filteredRowsCount.Value)
        }, JsonRequestBehavior.AllowGet);
which works great.
What we are struggling with is how to add in the list of columns.
   var aaData = PatList.Select(d => new string[] { 
              d.Username ,
              d.Address1 ,
              d.Age,
              d.Columns.forEach(????)}).ToArray();
so the columns are related to a user.
Hopefully that makes sense. Any assistance would be appreciated.
 
     
    