C#JSON码的生成与解析

using System.IO;using System.Runtime.Serialization.Json;using System.Text;using System.Windows.Forms;
namespace CnsosNet
{
public class JsonEngine
    {
//把对象生成json码
        public static string Serialize(object objectToSerialize)
        {
   using (MemoryStream ms = new MemoryStream())
            {
                DataContractJsonSerializer serializer= new DataContractJsonSerializer(objectToSerialize.GetType());
                serializer.WriteObject(ms, objectToSerialize);
                ms.Position= 0;

       using (StreamReader reader = new StreamReader(ms))
                {
           return reader.ReadToEnd();
                }
            }
        }

//把json码解析成对象
        public static T Deserialize(string jsonString)
        {
   if (jsonString == null || jsonString.Length <= 0)
       return default(T);

            T obj= default(T);

   try
            {
       using (MemoryStream ms = new MemoryStream(Encoding.Unicode.GetBytes(jsonString)))
                {
                    DataContractJsonSerializer serializer= new DataContractJsonSerializer(typeof(T));
                    obj= (T)serializer.ReadObject(ms);
                }
            }
   catch (System.Exception ex)
            {
                MessageBox.Show(ex.Message);
            }

   return obj;
        }
    }
}

文章标题:C#JSON码的生成与解析
本文路径:http://scyanting.com/article/gjgjii.html