Chaîne Json:
{"movies":[{"id":"1","title":"Sherlock"},{"id":"2","title":"The Matrix"}]}
Classe C #:
public class Movie {
public string title { get; set; }
}
C # convertissant json en c # liste des films:
JavaScriptSerializer jss = new JavaScriptSerializer();
List<Movie> movies = jss.Deserialize<List<Movie>>(jsonString);
Ma variable movies
finit par être une liste vide avec nombre = 0. Est-ce que quelque chose me manque?
Votre mappage de classe c # ne correspond pas à la structure json.
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);
}
}
Si vous souhaitez faire correspondre la structure C #, vous pouvez modifier la chaîne JSON comme suit:
{[{"id":"1","title":"Sherlock"},{"id":"2","title":"The Matrix"}]}