namespace MyJsonExample
{
public class Movies
{
public Movie[] All { get; set; }
}
public class Movie
{
public String Name { get; set; }
public DateTime ReleasedOn { get; set; }
[JsonIgnore]
public String Director { get; set; }
public MovieRating Rating { get; set; }
}
public enum MovieRating
{
R,
U,
PG
}
public static class Demo
{
public static string Serialize()
{
Movie m = new Movie { Director = "Suresh", Name = "First Movie", ReleasedOn = DateTime.Now, Rating = MovieRating.PG };
return JsonConvert.SerializeObject(m);
}
public static string SerializeArray()
{
Movie m1 = new Movie { Director = "Suresh", Name = "First Movie1", ReleasedOn = DateTime.Now, Rating = MovieRating.PG };
Movie m2 = new Movie { Director = "Suresh", Name = "First Movie2", ReleasedOn = DateTime.Now, Rating = MovieRating.R };
Movie[] movies = new Movie[] { m1, m2 };
Movies ms = new Movies { All = movies };
return JsonConvert.SerializeObject(ms);
}
public static void Deserialize(string m)
{
var movie = JsonConvert.DeserializeObject
movie.ToString();
}
public static void ParseMovie(string m)
{
var movie = JObject.Parse(m);
var name = movie["Name"];
}
public static void ParseMovies(string m)
{
var movies = JObject.Parse(m);
var all = movies["All"];
var name = all[0]["Name"];
name = all[1]["Name"];
}
public static void ParseMoviesUsingLinq(string m)
{
var movies = JObject.Parse(m);
var all = movies["All"];
var movienames = (from movie in all
select (string)movie["Name"]).ToList
var movienames2 = (from movie in movies["All"]
select new { N = (string)movie["Name"], R = movie["Rating"]});
foreach (var moviename in movienames)
{
Console.WriteLine(moviename);
}
foreach (var moviename in movienames2)
{
Console.WriteLine(moviename.N + ":" + moviename.R);
}
}
public static string SerializeEnum()
{
Movie m1 = new Movie { Director = "Suresh", Name = "First Movie1", ReleasedOn = DateTime.Now, Rating = MovieRating.PG };
return JsonConvert.SerializeObject(m1, new Newtonsoft.Json.Converters.StringEnumConverter());
}
}
}
No comments:
Post a Comment