11

Json 文字列:

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

C# クラス:

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

jsonをムービーのC#リストに変換するC#:

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

私のmovies変数は、カウント = 0 の空のリストになってしまいます。何か不足していますか?

4

2 に答える 2

20

C# クラス マッピングが json 構造と一致しません。

解決 :

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);
        }
}
于 2012-02-13T02:49:07.800 に答える
0

C# 構造に一致させたい場合は、次のように JSON 文字列を変更できます。

{[{"id":"1","title":"Sherlock"},{"id":"2","title":"The Matrix"}]}
于 2013-10-04T11:07:45.890 に答える