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.
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/