C#Jsonシーケンス化と逆シーケンス化
public class JsonSerializer
{
/// <summary>
/// json
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="t"></param>
/// <returns></returns>
public static string JsonStringSerializer<T>(T t)
{
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
using (MemoryStream ms = new MemoryStream())
{
ser.WriteObject(ms, t);
string json = Encoding.UTF8.GetString(ms.ToArray());
ms.Close();
return json;
}
}
/// <summary>
/// json
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="json"></param>
/// <returns></returns>
public static T DeJsonSerializer<T>(string json)
{
DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));
using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json)))
{
object obj=ser.ReadObject(ms);
ms.Close();
if (obj == null)
{
throw new NotImplementedException(" NULL,json:" + json);
}
return (T)obj;
}
}
}
Josnシーケンス化と逆シーケンス化demo
C#Jsonシーケンス化と逆シーケンス化2