zoukankan      html  css  js  c++  java
  • JsonSerializerHelper 武胜

      1. public static class JsonSerializerHelper  
      2. {  
      3.     /// <summary> 
      4.     /// 向String对象添加一个扩展方法  
      5.     /// </summary> 
      6.     /// <typeparam name="T">期望的类型</typeparam> 
      7.     /// <param name="json">Json字符数据</param> 
      8.     /// <returns>预期的对象图</returns> 
      9.     public static T JsonDeserialize<T>(this string json)  
      10.     {  
      11.         //基于字节数组初始化MemroyStream  
      12.         using (MemoryStream mstream =   
      13.                            new MemoryStream(Encoding.Unicode.GetBytes(json)))  
      14.         {     
      15.             //实例化DataContracctJsonSerializer对象  
      16.             DataContractJsonSerializer serializer =   
      17.                            new DataContractJsonSerializer(typeof(T));  
      18.             //从流中读取对象类型,强制转换为指定的对象  
      19.             return (T)serializer.ReadObject(mstream);  
      20.         }  
      21.     }  
      22.     /// <summary> 
      23.     /// 序列化对象到Json字符串  
      24.     /// </summary> 
      25.     /// <param name="obj">要序列化的对象</param> 
      26.     /// <returns>返回序列化后的字符串</returns> 
      27.     public static string JsonSerialize(this object obj)  
      28.     {     
      29.         //实例化MemoryStream以预备序列化  
      30.         using (MemoryStream mstream = new MemoryStream())  
      31.         {  
      32.             DataContractJsonSerializer serializer =   
      33.                     new DataContractJsonSerializer(obj.GetType());                                                          //实例化序列化类  
      34.             serializer.WriteObject(mstream, obj);       //将对象写入到流中  
      35.             mstream.Position = 0;                           //重新定位  
      36.             //使用StreamReader,从流中读取字符串  
      37.             using (StreamReader reader = new StreamReader(mstream))  
      38.             {     
      39.                 return reader.ReadToEnd();              //返回序列化字符串  
      40.             }  
      41.         }  
      42.     }  
      43. }
      44. https://github.com/JamesNK/Newtonsoft.Json
  • 相关阅读:
    GCJ 2015-Qualification-A Standing Ovation 难度:0
    CF 103E Buying Sets 最大权闭合子图,匹配 难度:4
    HDU 1560 DNA sequence A* 难度:1
    蓝桥杯练习系统 矩阵翻硬币 大数,牛顿迭代法 难度:2
    Operating System Concepts with java 项目: Shell Unix 和历史特点
    HDU 2181 哈密顿绕行世界问题 dfs 难度:1
    HDU 3533 Escape bfs 难度:1
    HDU 3567 Eight II 打表,康托展开,bfs,g++提交可过c++不可过 难度:3
    POJ 1011 Sticks dfs,剪枝 难度:2
    UVALive 5905 Pool Construction 最小割,s-t割性质 难度:3
  • 原文地址:https://www.cnblogs.com/zeroone/p/2477091.html
Copyright © 2011-2022 走看看