Visual Studio 快速將 JSON 轉換為 C# 類別
TLDR
- Visual Studio 內建「貼上 JSON 做為類別」功能,可自動將 JSON 字串轉換為 C# Class 結構。
- 此功能適用於快速建立基礎資料模型,但作為 DTO 使用時需額外進行型別檢查、命名對應與資料驗證。
- 若 JSON 欄位命名與 C# 慣例不符,建議搭配
[JsonPropertyName]屬性進行映射。
核心功能:快速轉換 JSON 為 C# 類別
什麼情況下會遇到這個問題:當開發者需要根據 API 回傳的 JSON 結構快速建立對應的 C# 資料模型(Model)或 DTO 時。
透過 Visual Studio 的「選擇性貼上」功能,可以省去手動撰寫類別屬性的時間。操作步驟如下:
- 複製目標 JSON 字串。
- 在 Visual Studio 編輯器中將游標移至目標位置。
- 點選選單:編輯 → 選擇性貼上 → 貼上 JSON 做為類別。

執行結果範例
若輸入以下 JSON:
json
{
"User": {
"Id": "Wing",
"Name": "小翼",
"Dept": {
"Id": "SAO",
"Name": "艾恩葛朗特"
}
}
}系統將自動產生對應的類別結構:
csharp
public class Rootobject {
public User User { get; set; }
}
public class User {
public string Id { get; set; }
public string Name { get; set; }
public Dept Dept { get; set; }
}
public class Dept {
public string Id { get; set; }
public string Name { get; set; }
}DTO 開發注意事項
什麼情況下會遇到這個問題:當自動產生的類別直接用於 API 串接或資料傳輸時,若未經檢查可能導致反序列化失敗或命名不符合規範。
自動產生的類別僅為基礎結構,在實際專案應用中,請務必執行以下檢查:
- 型別檢查:確認自動產生的屬性型別(如 string, int, bool 等)是否符合實際業務需求。
- 命名規範:若 JSON 的 Key 名稱與 C# 屬性命名慣例不符(例如 JSON 為 snake_case),建議使用
[JsonPropertyName]屬性進行映射,確保資料正確對應。 - 資料驗證:自動產生的類別不包含驗證邏輯,請根據業務需求加入適當的驗證屬性或邏輯。
TIP
若需在程式碼中呈現雙大括號,請務必使用程式碼區塊包裹,例如:{ { Property } }。
異動歷程
- 2025-05-27 初版文件建立。
