zoukankan      html  css  js  c++  java
  • C# JSON帮助类(可互转)

     public class JsonHelper
        {
    
            public JsonHelper()
            {
                //
                // TODO: Add constructor logic here
                //
            }
            /// <summary>
            /// 把对象序列化 JSON 字符串 
            /// </summary>
            /// <typeparam name="T">对象类型</typeparam>
            /// <param name="obj">对象实体</param>
            /// <returns>JSON字符串</returns>
            public static string GetJson<T>(T obj)
            {
                //记住 添加引用 System.ServiceModel.Web 
                /**
                 * 如果不添加上面的引用,System.Runtime.Serialization.Json; Json是出不来的哦
                 * */
                DataContractJsonSerializer json = new DataContractJsonSerializer(typeof(T));
                using (MemoryStream ms = new MemoryStream())
                {
                    json.WriteObject(ms, obj);
                    string szJson = Encoding.UTF8.GetString(ms.ToArray());
                    return szJson;
                }
            }
            /// <summary>
            /// 把JSON字符串还原为对象
            /// </summary>
            /// <typeparam name="T">对象类型</typeparam>
            /// <param name="szJson">JSON字符串</param>
            /// <returns>对象实体</returns>
            public static T ParseFormJson<T>(string szJson)
            {
                T obj = Activator.CreateInstance<T>();
                using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(szJson)))
                {
                    DataContractJsonSerializer dcj = new DataContractJsonSerializer(typeof(T));
                    return (T)dcj.ReadObject(ms);
                }
            }
    
    
        }
    //因为在webservice中是不能接收集合的 所以用字符串接收选择了json.
    
    
    //调用:List<BIZ.T_ExEntryDetailModel> ExdetailModel ExdetailModel = UPED.JsonHelper.ParseFormJson<List<BIZ.T_ExEntryDetailModel>>(jsonStr);   //解析JSON串为类
    
      //实体类转换JSON串为类
    
    List<Models.ExEntryDetailModel> detailModel =servers.GetExEntryDetailModel(......);
    
    string jsonStr = UPED.JsonHelper.GetJson<List<Models.ExEntryDetailModel>>(detailModel);
  • 相关阅读:
    改变页面选择文字颜色和背景颜色----selection伪元素
    中文版Chrome浏览器不支持12px以下字体的解决方案
    css直接写出小三角
    解决ie6 闪动的问题
    去掉firefox点击按钮时的虚线边框
    去除input在谷歌下的focus效果
    文本输入框的两种div+css的写法
    常用排序算法
    wtforms
    Flask
  • 原文地址:https://www.cnblogs.com/ilookbo/p/4081622.html
Copyright © 2011-2022 走看看