分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 教程案例

Net Core 下 Newtonsoft.Json 转换字符串 null 替换成string.Empty

发布时间:2023-09-06 02:31责任编辑:熊小新关键词:暂无标签
原文:Net Core 下 Newtonsoft.Json 转换字符串 null 替换成string.Empty

 public class NullToEmptyStringResolver : DefaultContractResolver ???{ ???????/// <summary> ???????/// 创建属性 ???????/// </summary> ???????/// <param name="type">类型</param> ???????/// <param name="memberSerialization">序列化成员</param> ???????/// <returns></returns> ???????protected override IList<JsonProperty> CreateProperties(Type type, MemberSerialization memberSerialization) ???????{ ???????????return type.GetProperties() ???????????????.Select(x => ???????????????{ ???????????????????var property = CreateProperty(x, memberSerialization); ???????????????????property.ValueProvider = new NullToEmptyStringValueProvider(x); ???????????????????return property; ???????????????}).ToList(); ???????} ???????/// <inheritdoc /> ???????/// <summary> ???????/// 小写 ???????/// </summary> ???????/// <param name="propertyName"></param> ???????/// <returns></returns> ???????protected override string ResolvePropertyName(string propertyName) ???????{ ???????????return propertyName.ToLower(); ???????} ???}
public class NullToEmptyStringValueProvider : IValueProvider ???{ ???????private readonly PropertyInfo _memberInfo; ???????/// <summary> ???????/// 构造函数 ???????/// </summary> ???????/// <param name="memberInfo"></param> ???????public NullToEmptyStringValueProvider(PropertyInfo memberInfo) ???????{ ???????????_memberInfo = memberInfo; ???????} ???????/// <inheritdoc /> ???????/// <summary> ???????/// 获取Value ???????/// </summary> ???????/// <param name="target"></param> ???????/// <returns></returns> ???????public object GetValue(object target) ???????{ ???????????var result = _memberInfo.GetValue(target); ???????????if (_memberInfo.PropertyType == typeof(string) && result == Convert.DBNull) ???????????{ ???????????????result = string.Empty; ???????????} ???????????return result; ???????} ???????/// <inheritdoc /> ???????/// <summary> ???????/// 设置Value ???????/// </summary> ???????/// <param name="target"></param> ???????/// <param name="value"></param> ???????public void SetValue(object target, object value) ???????{ ???????????_memberInfo.SetValue(target, value); ???????} ???}

Net Core 下 Newtonsoft.Json 转换字符串 null 替换成string.Empty

原文地址:https://www.cnblogs.com/lonelyxmas/p/10306833.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved