2012-02-13 27 views
10

Json dize:dönüştürme json

{"movies":[{"id":"1","title":"Sherlock"},{"id":"2","title":"The Matrix"}]} 

C# sınıfı: Jenerik ait

public class Movie { 
    public string title { get; set; } 
} 

C# dönüştürme json C# listesi:

JavaScriptSerializer jss = new JavaScriptSerializer(); 
List<Movie> movies = jss.Deserialize<List<Movie>>(jsonString); 

Benim movies değişkendir count = 0 ile boş bir liste olmaktan çıkıyorum. Bir şey mi eksik?

+0

Belki de ilk json düğümünü 'Film' olarak adlandırmalısınız, bu yüzden 'Film' sınıfına karşılık gelir? –

cevap

18

C# sınıf eşleştirmeleriniz json yapısıyla eşleşmiyor.

Çözüm:

class MovieCollection { 
     public IEnumerable<Movie> movies { get; set; } 
} 

class Movie { 
     public string title { get; set; } 
} 

class Program { 
     static void Main(string[] args) 
     { 
       string jsonString = @"{""movies"":[{""id"":""1"",""title"":""Sherlock""},{""id"":""2"",""title"":""The Matrix""}]}"; 
       JavaScriptSerializer serializer = new JavaScriptSerializer(); 
       MovieCollection collection = serializer.Deserialize<MovieCollection>(jsonString); 
     } 
} 
+0

Bunu kullandım, diyor ki: "koleksiyon sınıfı (MovieCollection) bir dizinin serileştirilmesi için desteklenmiyor. Lütfen yardım edin! –

0

okumak lütfen jQuery
kullanarak veri gönderebilir : (

{[{"id": "1", "title": "Sherlock"}, {"id": "2", "title": "The Matrix"}]}

İlgili konular