براي استفاده از jQuery Ajax يكي از روشهاي ارسال ديتا به برنامه، تبديل دادهها به فرمت JSON ميباشد. براي دادههاي ساده، تشخيص اين فرمت ساده است. مثلا اگر امضاي تابع وب سرويس اجكس ما به صورت زير باشد:
public static bool IsUserAvailable(string username)
{'username':'value'}
براي اين منظور در دات نت 3 و نيم، كلاسي جهت انجام اينگونه تبديلات پيش بيني شده است كه شرح مختصر آن به صورت زير است:
ابتدا بايد ارجاعي را به اسمبلي system.web.extensions به برنامه افزود و سپس جهت سهولت كار ميتوان يك extension method از كلاس JavaScriptSerializer مهيا در فضاي نام System.Web.Script.Serialization ايجاد كرد:
public static string ToJson(this object data)
{
return new JavaScriptSerializer().Serialize(data);
}
public static string GetJsonTest0()
{
var data = "a1";
return data.ToJson();
}
public static string GetJsonTest1()
{
var data = new List<string> { "a1", "a2", "a3" };
return data.ToJson();
}
public static string GetJsonTest2()
{
var lst =
new List<KeyValuePair<string, object>>
{
new KeyValuePair<string, object>("Name", "علي"),
new KeyValuePair<string, object>("Number", 10),
new KeyValuePair<string, object>("Desc", "منابع مورد نياز")
};
return lst.ToJson();
}
"a1"
["a1","a2","a3"]
[{"Key":"Name","Value":"علي"},{"Key":"Number","Value":10},{"Key":"Desc","Value":"منابع مورد نياز"}]
اين كلاس همچنين قابليت Deserialize و تبديل دادههايي به فرمت JSON به اشياء مورد نظر ما را نيز دارا است.