广

ASP.NET

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    扩展方法ToJSON() and ParseJSON()

    2018-05-07 10:24:25 次阅读 稿源:互联网
    广告
    使用例子: 
    代码如下:

        protected void Page_Load(object sender, EventArgs e)  
        {  
            Person p = new Person  
            {  
                Name = "wuchang",  
                Email = "wuchangx@qq.com",  
                LastActive = DateTime.Now,  
                Arr = new string[] { "arr1", "arr2" },  
                Lst = new List<string>( new string[] { "lst1", "lst2" } )  
            };  

            string json = p.ToJSON();  
            this.TextBox1.Text = json;  

            Person pp = json.ParseJSON<Person>();  
            this.TextBox2.Text = pp.ToJSON();  
        }  

    image 
    实现 
    代码如下:

    public static class JSONExtension  
    {  
        public static string ToJSON(this object obj)  
        {  
            DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());  
            using (MemoryStream ms = new MemoryStream())  
            {  
                serializer.WriteObject(ms, obj);  
                return Encoding.Default.GetString(ms.ToArray());  
            }  
        }  

        public static T ParseJSON<T>(this string str)  
        {  
            T obj = Activator.CreateInstance<T>();  
            using (MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(str)))  
            {  
                DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());  
                return (T)serializer.ReadObject(ms);  
            }  
        }  
    }  

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告