10 Temmuz 2014 Perşembe

c# Object To Json Converting


C# da çalışırken HttpPost ile json verisi göndermemiz gereken durumlarda projedeki nesneleri json formatında veriye dönüştürmemiz ve json veri formatında post etmemiz gerekir.Bunun için aşağıdaki metodu kullanmanız faydalı olabilir tek tek uğraşmamak için, yada sonrasında ihtiyacınıza uygun bir şekilde modifiye etmek için fikir verebilir.

Bu metodumuz verilen class ın adını, tüm property isimlerini ver property value larını çekiyor ve json formatında string veri olarak geriye döndürüyor.


      private string ConvertDataToJsonFormat<T>(T obj)

        {

            Type objType = obj.GetType();

            IList<PropertyInfo> properties = new List<PropertyInfo>(objType.GetProperties());

 

            string jsonData = "{\"" + objType.Name + "\":{";

 

            string singleDataFormat = "\"{0}\":\"{1}\"";

            int index = 0;

            foreach (PropertyInfo prop in properties)

            {

                if (index > 0)

                    jsonData += ",";

                else

                    index++;

 

                jsonData += string.Format(singleDataFormat, prop.Name, prop.GetValue(obj, null));

 

            }//End Foreach

 

            jsonData += "}}";

 

            return jsonData;

        }//End Class



Bu metod temel olarak ihtiyaçlarınızı çözecektir.Fakat daha kapsamlı işlemler ile json veri formatı elde etmek istiyorsanız Newtonsoft.Json dll ini indirmenizi tavsiye edebilirim.İçerisinde object to json, linq to Json gibi güzel özellikler bulabilirsiniz.Aşağıdaki linkten kullandığınız .Net versiyonuna göre indirme yapabilir, dökümanlara ulaşabilirsiniz.

https://json.codeplex.com/
Yunus Emre Web Developer

Morbi aliquam fringilla nisl. Pellentesque eleifend condimentum tellus, vel vulputate tortor malesuada sit amet. Aliquam vel vestibulum metus. Aenean ut mi aucto.