123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- using System;
- using System.Text;
- using System.Runtime.Serialization.Json;
- namespace ZLPlugin_LisPacs_MR.Domain.Units
- {
- /// <summary>
- /// 自定义Json辅助类
- /// </summary>
- class JSON
- {
- /// <summary>
- /// 实体类转换为JSON串
- /// </summary>
- /// <typeparam name="T">实体类类型</typeparam>
- /// <param name="jsonObject">实体类实例</param>
- /// <param name="encoding">编码</param>
- /// <returns></returns>
- public static string ObjectToJson<T>(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;
- }
- /// <summary>
- /// JSON串转换为实体类
- /// </summary>
- /// <typeparam name="T">实体类类型</typeparam>
- /// <param name="json">JSON串</param>
- /// <param name="encoding">编码</param>
- /// <returns></returns>
- public static T JsonToObject<T>(string json, Encoding encoding)
- {
- T resultObject = Activator.CreateInstance<T>();
- 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;
- }
- }
- }
|