net自带JSON封装管理类[通用类]

来源:互联网 发布:换了网络之后连不上 编辑:程序博客网 时间:2024/05/16 01:06

版本4.0测试成功,微软自带的json操作对象,本文只是对通用类进行了封装和测试成功,代码如下:

using System;/// <summary>/// author:Stone_W/// date:2011.1.29/// desc:微软自带Json管理类封装/// </summary>public class MyJSONUtility{    public MyJSONUtility() { }    #region 封装JSON    /// <summary>    /// 封装JSON    /// </summary>    /// <typeparam name="T">对象类型</typeparam>    /// <param name="obj">封装为JSON的对象</param>    /// <returns>string</returns>    public static string GetJSON<T>(object obj)    {        string result = String.Empty;        try        {            System.Runtime.Serialization.Json.DataContractJsonSerializer serializer =               new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(T));            using (System.IO.MemoryStream ms = new System.IO.MemoryStream())            {                serializer.WriteObject(ms, obj);                result = System.Text.Encoding.UTF8.GetString(ms.ToArray());            }        }        catch (Exception ex)        {            throw ex;        }        return result;    }    #endregion    #region 把json还原为对象    /// <summary>    /// 把json还原为对象    /// </summary>    /// <typeparam name="T">对象类型</typeparam>    /// <param name="jsonStr">json字符串</param>    /// <returns>T 对象类型</returns>    public static T ParseFormByJson<T>(string jsonStr)    {        T obj = Activator.CreateInstance<T>();        using (System.IO.MemoryStream ms =            new System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes(jsonStr)))        {            System.Runtime.Serialization.Json.DataContractJsonSerializer serializer =                new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(T));            return (T)serializer.ReadObject(ms);        }    }    #endregion}

http://shenghuoba.blog.163.com/blog/static/18975819820111510127289/

原创粉丝点击