• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

json 序列化与反序列化C#类

java 搞代码 4年前 (2022-01-09) 27次浏览 已收录 0个评论

添加System.runtime.serialization.dll引用

public static class JsonSerializer      {          private static ITracing _tracing = TracingManager.GetTracing(typeof(JsonSerializer));                /// <summary>          /// 将指定对象序列化为 JavaScript 对象表示法 (JSON) 数据,并将生成的 JSON 写入流中。          /// </summary>          /// 对象类型          /// 流对象          /// 序列化对象          public static void Serialize(Stream stream, T obj)          {              JsonSerializeProxy.Default.Serialize(stream, obj);          }                /// <summary>          /// 将指定对象序列化为 JavaScript 对象表示法 (JSON) 数据,并返回对应的字符串。          /// </summary>          /// 对象类型          /// 序列化对象          /// JavaScript 对象表示法 (JSON) 字符串          public static string Serialize(T obj)          {              using (MemoryStream ms = new MemoryStream())              {                  JsonSerializeProxy.Default.Serialize(ms, obj);                        string jsonStr = Encoding.UTF8.GetString(ms.ToArray());                        _tracing.InfoFmt("{0} json serialize result: {1}", typeof(T).ToString(), jsonStr);                        return jsonStr;              }          }                public static T DeSerialize(string jsonStr)          {              return JsonSerializeProxy.Default.DeSerialize(jsonStr);          }      }            public class JsonSerializeProxy      {          private static readonly JsonSerializeProxy _default = new JsonSerializeProxy();          private DataContractJsonSerializer _serializer;                public static JsonSerializeProxy Default          {              get             {                  return _default;              }          }                private JsonSerializeProxy()          {              _serializer = new DataContractJsonSerializer(typeof(T));          }                public void Serialize(Stream stream, T obj)          {              _serializer.WriteObject(stream, obj);          }                /// <summary>          /// 将JSON字符串反序列化为对象          /// </summary>          /// json字符串          ///           public T DeSerialize(string jsonStr)          {              MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonStr));              T obj = (T)_serializer.ReadObject(ms);          <strong style="color:transparent">来2源gaodaima#com搞(代@码&网</strong>    return obj;          }            }

搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:json 序列化与反序列化C#类
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址