# .NET Core 3.1 Json 屬性調整 ---- ## 1.物件屬性的Attribute改變 在**NET Core 2.1** 的物件Json轉換是透過 **Newtonsoft.Json** 進行物件的正反序列化動作 ``` csharp using Newtonsoft.Json; public class Student { [JsonProperty("studentName")] public string Name { get; set; } [JsonProperty("studentAge")] public int Age { get; set; } } ``` 但是在 **NET Core 3.1** 正式發布版本 已經非支援 **Newtonsoft.Json** 而是微軟自己開發內建的 **Text.Json.Serialization** ``` csharp using System.Text.Json.Serialization; public class Student { [JsonPropertyName("studentName")] public string Name { get; set; } [JsonPropertyName("studentAge")] public int Age { get; set; } } ``` 其中在model 物件或屬性的Json格式部分已經從 **JsonProperty()** 調整成 **JsonPropertyName()** ## 2.序列化與反序列化的改變 在 **NET Core 2.1** 是物件與字串的正反序列化方式(): ``` csharp using Newtonsoft.Json; string resultStr = JsonConvert.SerializeObject(student); Student student = JsonConvert.DeserializeObject<Student>(resultStr); ``` 在 **NET Core 3.1** 的改變是: ``` csharp using System.Text.Json.Serialization; string resultStr = JsonSerializer.Serialize(student); Student student = JsonSerializer.Deserialize<Student>(resultStr); ``` ###### tags: `netcore` `modelvalidate` `WebAPI` `Json`
×
Sign in
Email
Password
Forgot password
or
Sign in via Google
Sign in via Facebook
Sign in via X(Twitter)
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
Continue with a different method
New to HackMD?
Sign up
By signing in, you agree to our
terms of service
.