第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在類屬性上使用 JsonConverter 時選擇命名策略

在類屬性上使用 JsonConverter 時選擇命名策略

C#
守著星空守著你 2022-08-20 16:58:50
我有一個c#類,我正在嘗試使用正確序列化。該屬性是枚舉類型,我希望將值序列化為“枚舉名稱的小寫版本”。有一個可用于在屬性上指定此屬性,還有一個預(yù)寫,但我需要在該轉(zhuǎn)換器上指定CamelCaseNamingStrategy,但我無法計算出語法。Newtonsoft.JsonJsonConverterAttributeStringEnumConverter我試圖在屬性本身上分配它:public class C{    [JsonConverter(typeof(StringEnumConverter),NamingStrategy=typeof(CamelCaseNamingStrategy))]    public ChartType ChartType { get; set; }}我也嘗試過以類似的方式將其添加到枚舉類型本身:[JsonConverter(typeof(StringEnumConverter),NamingStrategy=typeof(CamelCaseNamingStrategy))]public enum ChartType { Pie, Bar }但是語法是錯誤的。我在Newtonsoft文檔中找不到任何這方面的例子。所需的序列化將是:或"ChartType":"pie""ChartType":"bar"有什么想法嗎?謝謝。
查看完整描述

3 回答

?
MMMHUHU

TA貢獻1834條經(jīng)驗 獲得超8個贊

好的,這似乎有效:


[JsonProperty("type")] 

[JsonConverter(typeof(StringEnumConverter), 

     converterParameters:typeof(CamelCaseNamingStrategy))]

public ChartType ChartType { get; }  

由于命名策略是使用轉(zhuǎn)換器參數(shù)應(yīng)用的屬性。這得到了我想要的輸出。我認為這方面的一個例子在Newtonsoft文檔中很有用。StringEnumConverter


查看完整回答
反對 回復(fù) 2022-08-20
?
開滿天機

TA貢獻1786條經(jīng)驗 獲得超13個贊

另一種可能的解決方案是使用JsonSerializerSettings


var settings = new JsonSerializerSettings

{

    Converters = new List<JsonConverter> {

        new StringEnumConverter(new CamelCaseNamingStrategy())

    }

};

var result = JsonConvert.SerializeObject(obj, settings);


查看完整回答
反對 回復(fù) 2022-08-20
?
隔江千里

TA貢獻1906條經(jīng)驗 獲得超10個贊

這適用于我在.Net Core Web API中的單個位置啟用駱駝外殼:

[JsonConverter(typeof(StringEnumConverter), true)]

請注意,可以將構(gòu)造函數(shù)參數(shù)追加到第一個參數(shù)給出的類型中,并具有以下重載構(gòu)造函數(shù):StringEnumConverter

StringEnumConverter(bool camelCaseText)

當然,通常首選全局啟用此功能,例如,此處將對此進行討論。


查看完整回答
反對 回復(fù) 2022-08-20
  • 3 回答
  • 0 關(guān)注
  • 185 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號