markdown
近期遊走在 ASP.NET MVC 5 / Web API 2 以及 ASP.NET Core MVC (.NET) 的專案中
對於由 API 讀取進來的物件在 .NET Framework 與 .NET 下處理的方式不同, 需要記錄一下以便日後翻查
場景需求
使用場景是把接收進來的物件內容轉換做一個清洗,只要從 Web API 接進來的物件屬性值為 null 的都不保留
例如: 有一個 Log 物件如下
```C#
var log = new Log {
Timestamp = "2024-06-16T09:22:01.5120098Z",
Level = "Information",
Message = "This is test message",
Exception = null
};
```
那麼經過清洗過後的字串內容就不會包含 Exception 空值的屬性
```Json
{
"Timestamp":"2024-06-16T09:22:01.5120098Z",
"Level":"Information",
"Message":"This is test message"
}
```
以下即是在 ASP.NET MVC 5 及 ASP.NET Core 不同環境的處理方式