VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > 编程开发 > C#编程 >
  • C#教程之使用Newtonsoft序列化

本站最新发布   C#从入门到精通
试听地址  
https://www.xin3721.com/eschool/CSharpxin3721/

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"
//}
 

相关教程