设置为驼峰命名

 驼峰命名规则:首字母小写后面单词大写。

第一种:使用对象的字段属性设置JsonProperty来实现(不推荐,因为需要手动的修改每个字段的属性)

public class UserInfo
{
    [JsonProperty("id")]
    public int Id{ set; get; }
    [JsonProperty("userName")]
    public string UserName{ set; get; }
}

  

public async Task<IActionResult> TestJsonCamelCase(string json)
        {
            try
            { 
               var str = JsonConvert.DeserializeObject<Model>(json);

                var serializerSettings = new JsonSerializerSettings
                {
                    // 设置为驼峰命名
                    ContractResolver = new CamelCasePropertyNamesContractResolver()
                };
                var result = JsonConvert.SerializeObject(str, Formatting.None, serializerSettings);

                return Content(result);
            }
            catch (Exception ex)
            {
                return Content(ex.ToString());
            }
        }

解决json序列化时的循环引用问题

 // 解决json序列化时的循环引用问题
            config.Formatters.JsonFormatter.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore;
var setter = new JsonSerializerSettings { ReferenceLoopHandling =  ReferenceLoopHandling.Ignore };

对 JSON 数据使用混合大小写。跟属性名同样的大小.输出
 // 对 JSON 数据使用混合大小写。跟属性名同样的大小.输出
            config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new UnderlineSplitContractResolver();

  

https://www.cnblogs.com/leolion/p/10585834.html

原文地址:https://www.cnblogs.com/yexiaoyanzi/p/11813599.html