Newtonsoft是我們開發過程中經常用到的一個第三方類庫,主要用於對象的序列化和反序列化。 命名方式 預設情況下序列化後的json字元串會以類名、屬性名作為鍵來命名。問題在於C#的命名規範中類名、屬性名都是以PascalCase方式來命名的,而在前端中一般都是以CamelCase方式來命名的,所 ...
Newtonsoft是我們開發過程中經常用到的一個第三方類庫,主要用於對象的序列化和反序列化。
命名方式
預設情況下序列化後的json字元串會以類名、屬性名作為鍵來命名。問題在於C#的命名規範中類名、屬性名都是以PascalCase方式來命名的,而在前端中一般都是以CamelCase方式來命名的,所以我們可以通過Newtonsoft提供的一些方法來滿足我們所需的效果,直接看示例:
public class Book { public string BookName { get; set; } public decimal BookPrice { get; set; } public string AuthorName { get; set; } public int AuthorAge { get; set; } public string AuthorCountry { get; set; } }
Book book = new Book { BookName = "The Gathering Storm", BookPrice = 16.19m, AuthorName = "Brandon Sanderson", AuthorAge = 34, AuthorCountry = "United States of America" }; string json1 = JsonConvert.SerializeObject(book, new JsonSerializerSettings { ContractResolver = new DefaultContractResolver() }); //首字母大寫,PascalCase方式 //{ // "BookName": "The Gathering Storm", // "BookPrice": 16.19, // "AuthorName": "Brandon Sanderson", // "AuthorAge": 34, // "AuthorCountry": "United States of America" //} string json2 = JsonConvert.SerializeObject(book, new JsonSerializerSettings { ContractResolver = new CamelCasePropertyNamesContractResolver() }); //首字母小寫,CamelCase方式 //{ // "bookName": "The Gathering Storm", // "bookPrice": 16.19, // "authorName": "Brandon Sanderson", // "authorAge": 34, // "authorCountry": "United States of America" //}