using System;
using System.Text;
using System.Runtime.Serialization.Json;
namespace ZLPlugin_LisPacs_MR.Domain.Units
{
///
/// 自定义Json辅助类
///
class JSON
{
///
/// 实体类转换为JSON串
///
/// 实体类类型
/// 实体类实例
/// 编码
///
public static string ObjectToJson(Object jsonObject, Encoding encoding)
{
string result = String.Empty;
DataContractJsonSerializer serializer = new DataContractJsonSerializer(jsonObject.GetType());
using (System.IO.MemoryStream ms = new System.IO.MemoryStream())
{
serializer.WriteObject(ms, jsonObject);
result = encoding.GetString(ms.ToArray());
}
return result;
}
///
/// JSON串转换为实体类
///
/// 实体类类型
/// JSON串
/// 编码
///
public static T JsonToObject(string json, Encoding encoding)
{
T resultObject = Activator.CreateInstance();
DataContractJsonSerializer serializer = new DataContractJsonSerializer(resultObject.GetType());
using (System.IO.MemoryStream ms = new System.IO.MemoryStream(encoding.GetBytes(json)))
{
resultObject = (T)serializer.ReadObject(ms);
}
return resultObject;
}
}
}