using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ServiceModel;
using System.ServiceModel.Web;
using System.IO;
using System.Runtime.Serialization.Json;
using System.Runtime.Serialization;
class Program
{
//write object 写 object 2 json
public static string ToJson<T>(T t)
{
DataContractJsonSerializer ds = new DataContractJsonSerializer(typeof(T));
MemoryStream ms = new MemoryStream();
ds.WriteObject(ms, t);
string strReturn = Encoding.UTF8.GetString(ms.ToArray());
ms.Close();
return strReturn;
}
//write object 写 object 2 json
public static string ToJson2<T>(T t)
{
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));
MemoryStream stream = new MemoryStream();
serializer.WriteObject(stream, t);
String result = Encoding.UTF8.GetString(stream.ToArray());
return result;
}
//read object 读取 json 2 object
public static T FromJson<T>(string strJson) where T : class
{
DataContractJsonSerializer ds = new DataContractJsonSerializer(typeof(T));
MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(strJson));
return ds.ReadObject(ms) as T;
}
//execute
static void Main(string[] args)
{
User u = new User(1, "EE", "123");
Console.WriteLine(ToJson2<User>(u));
Console.ReadLine();
}