Asp.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); } }

出处:
https://www.cnblogs.com/FanTaoLin/p/10081891.html
作者:数据酷软件
出处:https://www.cnblogs.com/datacool/p/12590145.html
关于作者:20年编程从业经验,持续关注MES/ERP/POS/WMS/工业自动化
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明。
联系方式: qq:71008973;wx:6857740733
基于人脸识别的考勤系统 地址: https://gitee.com/afeng124/viewface_attendance_ext
自己开发安卓应用框架 地址: https://gitee.com/afeng124/android-app-frame
WPOS(warehouse+pos) 后台演示地址: http://47.239.106.75:8080/

浙公网安备 33010602011771号