亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Newtonsoft.Json 中 json數據中的 null如何轉換成 ""

Newtonsoft.Json 中 json數據中的 null如何轉換成 ""

C#
慕俠2389804 2018-07-28 13:14:54
Newtonsoft.Json 中 json數據中的 null如何轉換成 ""?個人只看到一個忽略空值的屬性JsonSerializerSettings jsetting=new JsonSerializerSettings();  jsetting.NullValueHandling = NullValueHandling.Ignore;json:{ Name = "Jack", Age = 31, Gender = "Male", DepartmentName = "Personnel Department", Leader = null } 轉換的結果:{ Name = "Jack", Age = 31, Gender = "Male", DepartmentName = "Personnel Department", Leader = ""} 如何使json串中的 null能轉成 "" ,求解!
查看完整描述

2 回答

?
慕容3067478

TA貢獻1773條經驗 獲得超3個贊

需要自己寫一個NullToEmptyStringResolver,下面的代碼來自Json Convert empty string instead of null

var settings = new JsonSerializerSettings() { ContractResolver= new NullToEmptyStringResolver() };var str = JsonConvert.SerializeObject(yourObj, settings);
public class NullToEmptyStringResolver : Newtonsoft.Json.Serialization.DefaultContractResolver{    protected override IList<JsonProperty> CreateProperties(Type type, MemberSerialization memberSerialization)    {        return type.GetProperties()
                .Select(p=>{                    var jp = base.CreateProperty(p, memberSerialization);
                    jp.ValueProvider = new NullToEmptyStringValueProvider(p);                    return jp;
                }).ToList();
    }
}public class NullToEmptyStringValueProvider : IValueProvider{
    PropertyInfo _MemberInfo;    public NullToEmptyStringValueProvider(PropertyInfo memberInfo)    {
        _MemberInfo = memberInfo;
    }    public object GetValue(object target)    {        object result =  _MemberInfo.GetValue(target);        if (_MemberInfo.PropertyType == typeof(string) && result == null) result = "";        return result;

    }    public void SetValue(object target, object value)    {
        _MemberInfo.SetValue(target, value);
    }
}


查看完整回答
反對 回復 2018-07-30
?
臨摹微笑

TA貢獻1982條經驗 獲得超2個贊

直接字符串替換不就好了么 null 替換成“”

http://www.cnblogs.com/yanweidie/p/4605212.html


查看完整回答
反對 回復 2018-07-30
  • 2 回答
  • 0 關注
  • 3518 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號