.net json处理 ,及处理方法

    xiaoxiao2021-03-25  89

    工具类

    using System;

    using System.Collections.Generic; using System.Linq; using System.Web; using System.Runtime.Serialization.Json; using System.Text; using System.IO; using System.Web.Security; using System.Runtime.Serialization.Json; /// <summary> /// 解析JSON,仿Javascript风格 /// </summary> public static class JSON {     public static T parse<T>(string jsonString)     {                  using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString)))         {             return (T)new DataContractJsonSerializer(typeof(T)).ReadObject(ms);         }     }     public static string stringify(object jsonObject)     {         string str = "";         using (var ms = new MemoryStream())         {             new DataContractJsonSerializer(jsonObject.GetType()).WriteObject(ms, jsonObject);             str = Encoding.UTF8.GetString(ms.ToArray());         }         return str;     }

    }

    调用webservice为例 ,param  封装 user pass  、HandleStocker 封装想拿出的数据、wsResult 为自行定义的 结果对象

        protected void Button1_Click(object sender, EventArgs e)     {         param param = new param();         param.user = user.Text.Trim();                 param.pass = pass.Text.Trim();         login.login();         String stringParam = ContractJson.trans(JSON.stringify(param));         String result = "";         try         {             result = manufactureRecBillWEBSrv.getStockerInfo(stringParam);         }         catch         {            MsgUtil.MsgUtil.ShowMessage("数据传输错误!");         }                 if (JSON.checkValue(result))         {             WsResultStocker<List<HandleStocker>> wsResult = JSON.parse<WsResultStocker<List<HandleStocker>>>(result);             if (wsResult.success)             {                 Session.Contents.Clear();                 List<HandleStocker> stockerArray = wsResult.data;

                     //接具体操作             }             else             {                 MsgUtil.MsgUtil.ShowMessage("账号或密码错误:" + wsResult.message);             }         }         else         {             MsgUtil.MsgUtil.ShowMessage("数据传输错误!");         }                  }

    转载请注明原文地址: https://ju.6miu.com/read-40489.html

    最新回复(0)