2

J'ai une classe qui contient une liste d'éléments. Je souhaite sérialiser une instance de cette classe en json en utilisant DataContractJsonSerializer en tant que tableau json. par exemple.Sérialiser un objet à l'aide de DataContractJsonSerializer en tant que tableau json

class MyClass 
{ 
    List<MyItem> _items; 
} 

class MyItem 
{ 
    public string Name {get;set;} 
    public string Description {get;set;} 
} 

Lorsque sérialisé JSON il devrait ressembler à ceci:

[{"Name":"one","Description":"desc1"},{"Name":"two","Description":"desc2"}]

+3

Et quel est le problème que vous avez? Avez-vous une question à ce sujet? – Oded

+0

Aussi FWIW vous devriez vérifier le sérialiseur Json.NET car il est beaucoup plus performant que le sérialiseur WCF Json. –

Répondre

6
[DataContract] 
public class MyItem 
{ 
    [DataMember] 
    public string Name { get; set; } 

    [DataMember] 
    public string Description { get; set; } 
} 

class Program 
{ 
    static void Main() 
    { 
     var graph = new List<MyItem> 
     { 
      new MyItem { Name = "one", Description = "desc1" }, 
      new MyItem { Name = "two", Description = "desc2" } 
     }; 
     var serializer = new DataContractJsonSerializer(graph.GetType()); 
     serializer.WriteObject(Console.OpenStandardOutput(), graph); 
    } 
} 
+0

Le problème est, Liste doit être membre de MyClass, et MyClass doit être sérialisé en tant que tableau ... si graphique serait exemple si MyClass et les éléments seront ajoutés à cette instance – rekna

+0

pense que je viens de le trouver moi-même, Je peux laisser MyClass hériter de la liste ... – rekna

Questions connexes