JSON - DataContractJsonSerializer

转载 2011年01月20日 21:00:00

// convert JSON <-> CLASS
public static string ToJSON( this object obj )
{
    if ( !IsSerializable(obj) )
    {
        throw new Exception("Target object must be serializable.");
    }
    string json = string.Empty;
    DataContractJsonSerializer ser = new DataContractJsonSerializer(obj.GetType());
    using ( MemoryStream ms = new MemoryStream() )
    {
        ser.WriteObject(ms, obj);
        json = Encoding.Default.GetString(ms.ToArray());
    }
    return json;
}
 

 

public static T FromJSON<T>( this string json )
        {
            using ( MemoryStream ms = new MemoryStream(ASCIIEncoding.Default.GetBytes(json)) )
            {
                DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
                return (T)ser.ReadObject(ms);
            }
        }
 
 
public static bool IsSerializable( this object obj )
{
    MemoryStream ms = null;
    BinaryFormatter bf = null;
    try
    {
        ms = new MemoryStream();
        bf = new BinaryFormatter();
        bf.Serialize(ms, obj);
        return true;
    }
    catch ( System.Runtime.Serialization.SerializationException )
    {
        return false;
    }
    catch ( Exception exc )
    {
        throw exc;
    }
    finally
    {
        ms.Close();
        ms.Dispose();
    }
}

相关文章推荐

C# 中使用JSON -DataContractJsonSerializer

C# 中使用JSON -DataContractJsonSerializer C#中使用JSON不需要使用第三方库,使用.NETFramwork3.5自带的System.Runtime.Se...

C# 中使用JSON - DataContractJsonSerializer

转自:http://space.itpub.net/12639172/viewspace-503464 C#中使用JSON不需要使用第三方库,使用.NET Framwork3.5自带的Syste...

Net 3.5 用DataContractJsonSerializer实现Json序列和反序列例子

Net 3.5 用DataContractJsonSerializer实现Json序列和反序列例子

C#中如何将List<自定义>转为Json格式 及相关函数-DataContractJsonSerializer

对C#和.net使用List和Json格式相互转化的方法进行总结 关于JSON的入门介绍见http://www.json.org/ ,或者百度,这里不赘述,不过通过下面的例子会有个更快捷和更...

WCF(10):序列化(DataContractSerializer, XmlSerializer, DataContractJsonSerializer, SoapFormatter, Binary

http://www.itstrike.cn/Question/WCF-Serializer 介绍 WCF(Windows Communication Foundation) - 序列化:...

.Net——使用DataContractJsonSerializer进行序列化及反序列化基本操作

在平常中,我们经常会用到将一个T类型的东西,序列化成Json然后返回绑定数据到页面这样一个过程。每次面试,大概都被问到怎么序列化的呀?回答总是底层封装好的,算啦,还是做个简单栗子玩玩儿吧,也好堵住面试...

java JSON jar包

  • 2017-09-27 09:20
  • 1.60MB
  • 下载

JavaScript—— Json串值的获取及传递

今天弄了一天,解决了一个非常简单的问题,可能有人会说这么简单的问题有什么好说的啊,但是不知道的人真的是不知道啊,我就是一直在换着法子在百度和CSDN上面游荡,最后终于找到了想要的结果,一起来分享一下。...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)