类别:.Net相关知识 / 日期:2014-12-13 / 浏览:2183 / 评论:0

最近开始要回归Web了,Android的开发已经基本结束了,看着微软下一代的跨平台技术,我们的日子会不会变得辉煌起来呢?下面分享一些在项目中写的常用方法。 这次分享的是关于Json与Class之间的序列化和反序列化的方法。 把Class序列化Json字符串的方法:  

/// <summary>
/// 序列化类的方法
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="obj"></param>
/// <returns></returns>
public static string SerializeObject<T>(T obj)
{
    try
    {
        MemoryStream stream = new MemoryStream();
        DataContractJsonSerializer jsonSer = new DataContractJsonSerializer(typeof(T));
        jsonSer.WriteObject(stream, obj);
        stream.Position = 0;
        StreamReader sr = new StreamReader(stream);
        return sr.ReadToEnd();
    }
    catch (Exception ex)
    {
        return null;
    }
}

把Json反序列化为Class的方法:  

/// <summary>
/// 反序列化类的方法
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="stream"></param>
/// <returns></returns>
public static T DeserializingObject<T>(Stream stream) where T : class
{
    try
    {
        DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
        stream.Position = 0;
        T result = (T)serializer.ReadObject(stream);
        return result;
    }
    catch (Exception ex)
    {
        return null;
    }
}

这里需要引入两个命名空间:

using System.Runtime.Serialization.Json;
using Android.Util;

 

可能感兴趣的文章

评论区

发表评论 /

必填

选填

选填

◎欢迎讨论,请在这里发表您的看法及观点。