Конвертировать json в список объектов С#

Строка Json:

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

Класс С#:

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

С# преобразование json в список С# фильма:

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

Моя переменная movies заканчивается пустым списком с count = 0. Я что-то пропустил?

11
13 февр. '12 в 5:36
источник поделиться
3 ответов

Ваше сопоставление классов С# не соответствует структуре 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);
        }
}
20
13 февр. '12 в 5:49
источник

Если вы хотите соответствовать структуре С#, вы можете изменить строку JSON следующим образом:

{[{"id":"1","title":"Sherlock"},{"id":"2","title":"The Matrix"}]}
0
04 окт. '13 в 14:07
источник

Вы также можете отправлять данные с помощью Jquery
PLS читать http://www.codeproject.com/script/Articles/ArticleVersion.aspx?aid=105210&av=174581

-1
13 февр. '12 в 10:24
источник

Посмотрите другие вопросы по меткам или Задайте вопрос