重庆市建设工程信息官网站,城乡建设部网站稽查执法专栏,软装设计费用,高校网站一般采用什么网页布局经常会遇到系统数据交互采用JSON数据格式进行交互的#xff0c;避免不必要的重复工作#xff0c;记录下自己的处理方式。 获取数据集之后#xff0c;通过函数对数据集信息进行整理通过.Net Framework3.5提出的JavaScriptSerializer类进行DataSet数据的序列化#xff0c; 需… 经常会遇到系统数据交互采用JSON数据格式进行交互的避免不必要的重复工作记录下自己的处理方式。 获取数据集之后通过函数对数据集信息进行整理通过.Net Framework3.5提出的JavaScriptSerializer类进行DataSet数据的序列化 需要添加System.Web.Extensions引用 private static string DataToJson(DataSet metaData,string msg){ DataTable resultInfo new DataTable(success);resultInfo.Columns.Add(RETURN_CODE, Type.GetType(System.String));resultInfo.Columns.Add(ERROR_MSG, Type.GetType(System.String));DataRow newRow resultInfo.NewRow();if (metaData null || metaData.Tables.Count 0 || metaData.Tables[0].Rows.Count 0){newRow[RETURN_CODE] -1;if (string.IsNullOrEmpty(msg)){newRow[ERROR_MSG] 查询结果为空;}else{newRow[ERROR_MSG] msg;}resultInfo.Rows.Add(newRow);metaData.Tables.Add(resultInfo);}else{newRow[RETURN_CODE] 0;newRow[ERROR_MSG] ;resultInfo.Rows.Add(newRow);metaData.Tables.Add(resultInfo);}StringBuilder sb new StringBuilder();sb.Append({);JavaScriptSerializer serializer new JavaScriptSerializer();foreach (DataTable dt in metaData.Tables){sb.Append(string.Format(\{0}\:,dt.TableName));ArrayList arrayListnew ArrayList();foreach (DataRow dataRow in dt.Rows){Dictionarystring, object dictionary new Dictionarystring, object();foreach (DataColumn dataColumn in dt.Columns){dictionary.Add(dataColumn.ColumnName,dataRow[dataColumn.ColumnName]);}arrayList.Add(dictionary);}sb.Append(serializer.Serialize(arrayList));sb.Append(,);}return sb.Remove(sb.Length - 1, 1).Append(}).ToString();} 此时我们获取了一个JSON格式的字符串在接收方同样可以通过JavaScriptSerializer将字符串转换为自己需要的数据格式如ArrayList private ArrayList JsonToList(string json){JavaScriptSerializer serializer new JavaScriptSerializer();Dictionarystring,object dictionary serializer.DeserializeDictionarystring,object(json);return (ArrayList)dictionary[data];} 也可以将JSON转换为对象 internal bool ValidateWebJsonValues(ref UserInfo userInfo, string userName, string passWord){try{string json {data:{accounts:null,delFlag:0,email:null,emailState:null,instOrgId:null,institue:false,member:false,mobile:null,org:false,realName:包文强,state:0,teacher:true,userId:121438653944262,userType:2},success:true};JavaScriptSerializer jsSerializer new JavaScriptSerializer();Dictionarystring, object dic jsSerializer.DeserializeDictionarystring, object(json);bool dataResult (bool)dic[success];if (dataResult){Dictionarystring, object dataDic (Dictionarystring, object)dic[data];Type type typeof(UserInfo);PropertyInfo[] propInfo type.GetProperties();foreach (PropertyInfo prop in propInfo){if (dataDic[prop.Name] ! null){prop.SetValue(userInfo, dataDic[prop.Name], null);}else{prop.SetValue(userInfo, , null);}}}return dataResult;}catch (Exception ex){return false;}} 以上代码是根据个人过往处理这方面问题的代码进行简单调整也涉及到一些判断逻辑。作为参考可以修改调整后使用。转载于:https://www.cnblogs.com/ultimateWorld/p/6062303.html