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能转成 "" ,求解!
        需要自己写一个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);
    }
}
            在webapi里怎么配置他自动这样转?
PS:已解决.在全局配置里替换下就行了.
dudu现身,有点小激动!!!
@吴瑞祥: 全局配置?
直接字符串替换不就好了么 null 替换成“”
http://www.cnblogs.com/yanweidie/p/4605212.html
直接替换很麻烦
这个文章有看过。
你这个问题和我一样诶.
我之前只给了20分了.你愿意给100呢.好多..
只要能解决问题,200分也是可以的
自己搞一个Converter 当做参数传递进去就好了
JSONObject.serialize(obj,converter)
直接转换的DataTable,会出现null。
mark.