zoukankan      html  css  js  c++  java
  • 使用Newtonsoft序列化

    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"
    //}
  • 相关阅读:
    freemarker报错之五
    freemarker处理空值
    freemarker报错之四
    freemarker之include指令
    freemarker之list
    freemarker报错之三
    freemarker中的if...elseif...else语句
    freemarker获取封装类中对象的属性
    单块读和多块读操作汇总
    freemarker报错之二
  • 原文地址:https://www.cnblogs.com/oyang168/p/11890794.html
Copyright © 2011-2022 走看看