在我的Web API項目,現在我跳過空值。因此,返回json忽略空值並打印屬性。JSON序列NullValueHandling屬性
在Global.asax文件:
//manage the null in the response
var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
json.SerializerSettings.NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore;
不過,我想通過更換空值 「 - 」。但是,我不希望使用數據成員屬性,每個屬性...
[DefaultValue("-")].
我有超過10班在我的項目...所以,這是不是最完美的解決方案。
祝是一個簡單的解決方案,並適用於任何轉換,與從在Global.asax
實施例的空值一樣。
public class User
{
public string user { get; set; }
public string name { get; set; }
public string dni { get; set; }
}
時存在的所有數據,我的服務回報
{
"user": "usertest",
"name": "nametest",
"dni": "123456789"
}
但是,DNI時,不存在,所以響應,這
{
"user": "usertest",
"name": "nametest",
"dni": ""
}
,我想回應如下
{
"user": "usertest",
"name": "nametest",
"dni": "-"
}
你介意你澄清一個小問題?你的意思是你想跳過寫出當前值與默認值相匹配的成員,或者在寫入具有空值的成員時,將寫入的值替換爲默認值? – dbc
另外,你的意思是你不想爲每個屬性使用'[DefaultValue]'? ['DefaultValueAttribute'](https://msdn.microsoft.com/en-us/library/system.componentmodel.defaultvalueattribute%28v=vs.110%29.aspx)不是數據成員屬性,它用於很多事情包括財產編輯。 – dbc
好,已編輯。我不想使用默認屬性。 [默認值(」-」)]。我只需要一個簡單而優雅的方法來爲所有屬性json序列化程序設置DefaultValue。 – Makito