C#實體物件序列化成Json,並讓欄位的首字母小寫

Oliver發表於2019-02-16

引言:最近在工作中遇到與某些API對接的post的資料需要將物件的欄位首字母小寫。
解決辦法有兩種:
第一種:使用物件的欄位屬性設定JsonProperty來實現(不推薦,因為需要手動的修改每個欄位的屬性)

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

第二種:使用newtonsoft.json來設定格式化的方式(推薦使用)

 var user = new { Name = "john", Age = 19 }; 
 var serializerSettings = new JsonSerializerSettings
            {
                // 設定為駝峰命名
                ContractResolver = new CamelCasePropertyNamesContractResolver()
            };
var userStr = JsonConvert.SerializeObject(user, Formatting.None, serializerSettings);

以上就是解決辦法,看到這個配置的資料比較少,做下記錄

相關文章