Json - Serialize and DeSerialize objects - sample project - return webapi data with httppost- parameters , frombody and string parameter
** json serialize - deserialize
  public static void Serialize(object value, Stream s)
        {
            using (StreamWriter writer = new StreamWriter(s))
            using (JsonTextWriter jsonWriter = new JsonTextWriter(writer))
            {
                JsonSerializer ser = new JsonSerializer();
                ser.Serialize(jsonWriter, value);
                jsonWriter.Flush();
            }
        }
        public static T Deserialize<T>(Stream s)
        {
            using (StreamReader reader = new StreamReader(s))
            using (JsonTextReader jsonReader = new JsonTextReader(reader))
            {
                JsonSerializer ser = new JsonSerializer();
                return ser.Deserialize<T>(jsonReader);
            }
        }
**** webapi - [HttpPost]
  [HttpPost]
        [Route("Urunler/UretimdenKaldirilanlar")]
        public async Task<System.Web.Http.IHttpActionResult> UretimdenKaldirilanlar(
          [FromBody] UserModel dsUser, string dsApiPass)
        {
          //first control dsuser and dsapipass..
            var s1 = await (from u in db.Products
                            where u.Discontinued == true 
                            select new
                            {
                                u.ProductID
                            ,
                                u.ProductName
                            ,
                                u.UnitPrice
                            }).OrderBy(p => p.ProductName).ToListAsync();
            if (s1 == null)
            {
                return NotFound();
            }
            return Ok(s1);
        } 
    }
********  console project - main -
  static async Task Main(string[] args)
        {
            Uri url = new Uri("http://localhost:51062/Urunler/UretimdenKaldirilanlar?dsApiPass=1234");
            client.DefaultRequestHeaders.Accept.Clear();
            client.DefaultRequestHeaders.Accept.Add(
                new MediaTypeWithQualityHeaderValue("application/vnd.github.v3+json"));
            client.DefaultRequestHeaders.Add("User-Agent", "aydin");
            UserModel usr = new UserModel();
            usr.KulaniciAdi = "a.turker";
            usr.Sifre= "1234"; 
            var contentUser = new StringContent(Newtonsoft.Json.JsonConvert.SerializeObject(usr), Encoding.UTF8, "application/json");
             var ctn = await client.PostAsync(url.ToString(), contentUser);
            var result = await ctn.Content.ReadAsStreamAsync();
            List<Product> Urunler = Utils.Deserialize<List<Product>>(result);
            foreach (var urun in Urunler)
            {
                Console.WriteLine(string.Format("ID : {0} ", urun.ProductID));
                Console.WriteLine(string.Format("NAME : {0} ", urun.ProductName));
                Console.WriteLine(string.Format("PRICE : {0} ", urun.UnitPrice));
                Console.WriteLine("-------------------------------------------");
            } 
 
            Console.ReadLine();
        }
******************  product class 
 public class Product
    {
        public int ProductID{get;set;}
        public string ProductName { get; set; }
        public double UnitPrice { get; set; }
    }
******************************  usermodel class
  public class UserModel
    {
        public string KulaniciAdi;
        public string Sifre;
    }
Yorumlar
Yorum Gönder