convert json to c# list of objects

点点圈 提交于 2019-12-17 18:55:59

问题


Json string:

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

C# class:

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

C# converting json to c# list of Movie's:

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

My movies variable is ending up being an empty list with count = 0. Am I missing something?


回答1:


Your c# class mapping doesn't match with json structure.

Solution :

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);
        }
}



回答2:


If you want to match the C# structure, you can change the JSON string like this:

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


来源:https://stackoverflow.com/questions/9254887/convert-json-to-c-sharp-list-of-objects

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!