1. 前端Json數組定義
var jsonArr=new Array(); var json1={"Name":"zhangsan","Age":15,"Sex":"male"}; var json2={"Name":"lisi","Age":10,"Sex":"female"}; jsonArr.push(json1); jsonArr.push(json2);
2. 后端:C# 定義與傳入的Json對象類似的類,用來接收Json對象
這里要注意:傳入的Json必須和后台自定義的類的屬性值一樣。
public class People { public string Name; public int Age; public string Sex; }
3. 采用AjaxPro方法傳入后端,然后利用AjaxPro.JavaScriptDeserializer類的靜態方法DeserializeFromJson(string json,Type type)
[AjaxPro.AjaxMethod] public void DeserializeJson(object jsonObj) { List<People> lstResult = new List<People>(); lstResult = (List<People>)JavaScriptDeserializer.DeserializeFromJson(jsonObj.ToString(), typeof(List<People>)); }
或者先轉換為AjaxPro.JavaScriptArray對象,然后遍歷每項,調用AjaxPro.JavaScriptDeserializer類的靜態方法Deserialize(IJavaScriptObject object,Type type)
AjaxPro.JavaScriptArray array = (AjaxPro.JavaScriptArray)JavaScriptDeserializer.DeserializeFromJson(jsonObj.ToString(), typeof(AjaxPro.JavaScriptArray)); for (int i = 0; i < array.Count; i++) { AjaxPro.JavaScriptObject item = (AjaxPro.JavaScriptObject)array[i]; People people=(People)AjaxPro.JavaScriptDeserializer.Deserialize(item, typeof(People)); lstResult.Add(people); }