需要添加引用:System.ServiceModel.Web 和 System.Runtime.Serialization,然后使用Using:
using System.Runtime.Serialization.Json;
using System.Runtime.Serialization;
序列化为字符串:
1: public static string SerializeToJsonString( object objectToSerialize )
2: {
3: using( MemoryStream ms = new MemoryStream() )
4: {
5: DataContractJsonSerializer serializer =
6: new DataContractJsonSerializer( objectToSerialize.GetType() );
7: serializer.WriteObject( ms, objectToSerialize );
8: ms.Position = 0;
9:
10: using( StreamReader reader = new StreamReader( ms ) )
11: {
12: return reader.ReadToEnd();
13: }
14: }
15: }
反序列化:
1: public static T Deserialize<T>( string jsonString )
2: {
3: using( MemoryStream ms = new MemoryStream( Encoding.Unicode.GetBytes( jsonString ) ) )
4: {
5: DataContractJsonSerializer serializer = new DataContractJsonSerializer( typeof( T ) );
6:
7: return ( T )serializer.ReadObject( ms );
8: }
9: }