zoukankan      html  css  js  c++  java
  • Json数据序列化对象,及对象序列化为Json格式

    public class JsonHelper
        {
            /// <summary>
            /// 生成Json格式
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="obj"></param>
            /// <returns></returns>
            public static string GetJson<T>(T obj)
            {
                DataContractJsonSerializer json = new DataContractJsonSerializer(obj.GetType());
                using (MemoryStream stream = new MemoryStream())
                {
                    json.WriteObject(stream, obj);
                    string szJson = Encoding.UTF8.GetString(stream.ToArray());
                    return szJson;
                }
            }
            /// <summary>
            /// 转换Json的Model对象
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="szJson"></param>
            /// <returns></returns>
            public static T ParseFromJson<T>(string szJson)
            {
                T obj = Activator.CreateInstance<T>();
                using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(szJson)))
                {
                    DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
                    return (T)serializer.ReadObject(ms);
                }
            }
            /// <summary>
            /// 根据Json获取Dictionary集合
            /// </summary>
            /// <param name="szJson"></param>
            /// <returns></returns>
            public static Dictionary<string, string> GetDictionaryFromJson(string szJson)
            {
                Dictionary<string, string> list = new Dictionary<string, string>();
    
                System.Web.Script.Serialization.JavaScriptSerializer jsonConvert = new System.Web.Script.Serialization.JavaScriptSerializer();
                list = jsonConvert.Deserialize<Dictionary<string, string>>(szJson);
    
                return list;
            }
        }
    一个人成就的大小与承担责任的多少是成正比
  • 相关阅读:
    计算机编码总结
    将TOMCAT设置成为NT服务
    java 操作oracle 序号器相关
    java事件机制
    c# Semaphore(信号量)
    C#中异步和多线程的区别
    c#多线程调用有参数的方法
    解决TCP网络传输“粘包”问题
    高性能socket设计实现
    c# Buffer学习笔记
  • 原文地址:https://www.cnblogs.com/qxoffice2008/p/3926928.html
Copyright © 2011-2022 走看看