使用Newtonsoft序列化

Newtonsoft是咱們開發過程當中常常用到的一個第三方類庫,主要用於對象的序列化和反序列化。前端

 

命名方式json

默認狀況下序列化後的json字符串會以類名、屬性名做爲鍵來命名。問題在於C#的命名規範中類名、屬性名都是以PascalCase方式來命名的,而在前端中通常都是以CamelCase方式來命名的,因此咱們能夠經過Newtonsoft提供的一些方法來知足咱們所需的效果,直接看示例: spa

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"
//}
相關文章
相關標籤/搜索