前台通过Ajax锄地JSON格式的字符串给后台(ashx页面),解析的时候不是需要知道解析对象类型吗?
我后台或得到了JSON格式的字符串,想要解析为JSON对象,是不是一定要知道传递过来之前JSON对象的类型?
前台的JS中JSON对象和C#中的对象是怎么对应起来的?还有,我在传递过来的时候也能将前台的JSON对象类型给传递过来。
但是怎么将其用前台的对象名(字符串)对应调用后台的该对象的类型?我现在做的是用switch来判断的,但是自己想把这个方法写得更通用一点。
case "savedata":
{
string cstr = context.Request.Form["content"].ToString();
string[] cts = cstr.Split(Separators, StringSplitOptions.None);
for (int i = 0; i < keywords.Length; i++)
{
switch (keywords[i])
{
case "Pcflow":
t_Data = new T_Pcflow();
break;
case "APS":
t_Data = new T_APS();
break;
case "Beltline":
t_Data = new T_Beltline();
break;
default:
continue;
}
json = new DataContractJsonSerializer(t_Data.TypeofData());
ms = new MemoryStream(Encoding.UTF8.GetBytes(cts[i]));
IList jsonObject = (IList)json.ReadObject(ms);
//持久化数据,SaveRecord()保存数据
t_Data.SaveRecord(jsonObject);
}
json.WriteObject(context.Response.OutputStream, true);
}
break;