tnblog
首页
登录

更加快捷方便的实现Json字符串的反序列化

78人阅读 2018/12/7 19:12 评论:0 手机 收藏 关注
分类: 用以备忘
    /// <summary>
    /// 地址信息
    /// </summary>
    public class AddressResult
    {
        /// <summary>
        /// 地址
        /// </summary>
        public string Address{ get; set; }
        /// <summary>
        /// 经纬度
        /// </summary>
        public AddressTip Location { get; set; }
    }
    /// <summary>
    /// 经纬度信息
    /// </summary>
    public class AddressTip
    {
        /// <summary>
        /// 经度
        /// </summary>
        public double Lat { get; set; }
        
        /// <summary>
        /// 纬度
        /// </summary>
        public double Lng { get; set; }
    }
    
    
    
    /// <summary>
    /// 反序列化的类
    /// </summary>
    public class AddressEntity
    {
        /// <summary>
        /// 经度
        /// </summary>
        public string Lat { get; set; }

        /// <summary>
        /// 纬度
        /// </summary>
        public string Lng { get; set; }

        /// <summary>
        /// 详细地址
        /// </summary>
        public string Address { get; set; }
    }

当一个类里面嵌套这另一个类的时候,又不想写相对应的实体来进行反序列化,用这个方法写一个类就可以进行反序列化操作,

安装方式:使用vs自带的nuget管理工具,搜索AutoMapper 

直接上代码,写完下班

Mapper.Map<List<BaiduAddressTipResponseEntity>>(baiduResult.Data);

当然还要进行转换配置

public class MapConfig
    {
        /// <summary>
      /// 转换配置
      /// </summary>
      public static void MapperofInitialize()
      {
          Mapper.Initialize(cfg =>
         {
            cfg.CreateMap<AddressResult,AddressEntity>()
            .ForMember(dest => dest.Lat, opt => opt.MapFrom(src => src.Location.Lat))
            .ForMember(dest => dest.Lng, opt => opt.MapFrom(src => src.Location.Lng))
         });
       }
      }

用以备忘(大佬勿喷)

评价
现在的安逸来源于自己的不努力
文章
6
评论
8
分类
16
关注
16
{{item.ArticleTitle}}
{{item.BlogName}} : {{item.Content}}