2010-09-04 6 views
1

En C# j'ai un tableau de Calendrier objetsen C#, comment puis-je convertir cette structure de données en JSON

chaque Calendrier objet a un tableau de objets CalendarEvent

chaque de CalendarEvent objet a un Date et Nom propriété

je veux convertir cela en objet JSON mais je veux changer la structure de données un peu donc dans l'objet json un calendrier est un tableau de dates et un tableau de noms (décomposer l'objet CalendarEvent)

je veux quelque chose comme ceci:

var myObject = return Json(new 
       { 
        Calendars = new[] 
        { 
         Dates = new [] {myDateArray}; 
         Names = new [] {myNameArray}; 
        } 
       } 

Répondre

3
IEnumerable<Calendar> calendars = ... 

return Json(
    calendars.Select(calendar => new 
    { 
     Names = calendar.CalendarEvents.Select(e => e.Name), 
     Dates = calendar.CalendarEvents.Select(e => e.Date) 
    }) 
); 
0

pour .Net 3.5, vous seriez à la recherche de la DataContractJsonSerializer. Vous voudrez probablement customise it pour correspondre à ce que vous voulez.

+0

Oh non, pourquoi réinventer la roue? Suggérez-vous d'utiliser manuellement un sérialiseur lorsque la méthode 'Json' le fait déjà? –

+0

Oh, je ne m'étais pas rendu compte .Net avait un objet/méthode 'Json'. Msdn ref? – cofiem

Questions connexes