Exemplo n.º 1
0
 /// <summary>
 /// REST响应 JSON反序列化
 /// <example>
 ///  public sealed class RestResponse 
 ///  {  
 ///      public RestStatus StatusCode { get; set; } 
 ///      [JsonProperty("Result")]  
 ///      public IJsonContent Content { get; set; }
 ///  }
 /// 这里Content是接口,在反序列化时需要具体化类型.
 /// 主要是在Rest Client中处理响应时需要用到
 /// </example>
 /// </summary> 
 /// <typeparam name="TDataContentImp"></typeparam>
 /// <typeparam name="TSubContentImp">JSON模型子内容,其以接口类型实现,需要根据类型具体化</typeparam>
 /// <param name="restService"></param>
 /// <param name="jsonContent"></param> 
 /// <returns></returns>
 public static ResponseContent DeserializeResponse<TDataContentImp, TSubContentImp>(this RestServiceBase restService,
                                                                                 string jsonContent)
 {
     var dic = new Dictionary<JsonPropertyFilterEnum, Type>
         {
             {JsonPropertyFilterEnum.RestResponseResult, typeof (TDataContentImp)},
             {JsonPropertyFilterEnum.SettingModelData, typeof (TSubContentImp)}
         };
     return JsonUtils.DeserializeObject<ResponseContent, TSubContentImp>(jsonContent, dic);
 }
Exemplo n.º 2
0
 /// <summary>
 /// JSON反序列化 
 /// </summary>
 /// <typeparam name="T"></typeparam> 
 /// <param name="restService"></param>
 /// <param name="jsonContent"></param> 
 /// <returns></returns>
 public static T Deserialize<T>(this RestServiceBase restService, string jsonContent)
 {
     return JsonUtils.DeserializeObject<T>(jsonContent);
 }
Exemplo n.º 3
0
 /// <summary>
 /// JSON反序列化(反序列化包含属性Data的JSON字符串,其中Data数据内容派生自ParamsDataBase)
 /// <example>
 /// 对如下类对象进行反序列化
 ///  public sealed class SettingModel : SettingModelBase 
 ///  {  
 ///      public IJsonContent Data { get; set; }
 ///  }
 /// 这里Content是接口,在反序列化时需要具体化类型.
 /// 主要是在Rest Client中处理响应时需要用到
 /// </example>
 /// </summary> 
 /// <param name="restService"></param>
 /// <typeparam name="TSubElement">JSON模型子内容,其以接口类型实现,需要根据类型具体化</typeparam>
 /// <param name="jsonContent"></param> 
 /// <returns></returns>
 public static MultifunctionalContent DeserializeContent<TSubElement>(this RestServiceBase restService, string jsonContent) where TSubElement : class,IJsonContent
 {
     var model = JsonUtils.DeserializeObject<MultifunctionalContent, TSubElement>(jsonContent, JsonPropertyFilterEnum.SettingModelData);
     if (model != null) return model;
     return null;
 }
Exemplo n.º 4
0
 /// <summary>
 /// REST响应 JSON反序列化 
 /// </summary> 
 /// <param name="restService"></param>
 /// <param name="jsonContent"></param> 
 /// <returns></returns>
 public static ResponseContent DeserializeResponse(this RestServiceBase restService, string jsonContent)
 {
     return JsonUtils.DeserializeObject<ResponseContent>(jsonContent);
 }
Exemplo n.º 5
0
 /// <summary>
 /// REST响应 JSON反序列化
 /// <example>
 /// 对如下类对象的反序列化:
 ///  public sealed class RestResponse 
 ///  {  
 ///      public RestStatus StatusCode { get; set; } 
 ///      [JsonProperty("Result")]   
 ///      public IJsonContent Content { get; set; }
 ///  }
 /// 这里Content是接口,在反序列化时需要具体化类型.
 /// 主要是在RestClient中处理响应时需要用到
 /// </example>
 /// </summary> 
 /// <typeparam name="TSubContentImp">JSON模型子内容,其以接口类型实现,需要根据类型具体化</typeparam>
 /// <param name="restService"></param>
 /// <param name="jsonContent"></param> 
 /// <returns></returns>
 public static ResponseContent DeserializeResponse<TSubContentImp>(this RestServiceBase restService, string jsonContent)
 {
     return JsonUtils.DeserializeObject<ResponseContent, TSubContentImp>(jsonContent, JsonPropertyFilterEnum.RestResponseResult);
 }