javascriptserializerおよびjson.net列挙列文字列にシリアル化
列挙属性を含むJavaScriptSerializerシリアル化されたオブジェクトを使用する場合、デフォルトの動作は、整数値の代わりに列挙値を出力します。この記事では、この動作をカスタマイズし、JSON出力で列挙文字列を取得する方法について説明します。
JSON.NET JSON.NETは、JSONConverter属性を介してより便利なソリューションを提供し、StringENumConverterタイプで構築されています。関連する列挙属性に属性を適用することにより:
...文字列としてシリアル化するための列挙を指定できます。 StringEnumConverterの詳細については、そのドキュメントを参照してください。
その他のオプション
このコンバーターを構成できる他の方法があります。
<code class="language-csharp">using Newtonsoft.Json;
using Newtonsoft.Json.Converters;
[JsonConverter(typeof(StringEnumConverter))]
public Gender Gender { get; set; }</code>
epolid定義:すべての列挙インスタンスが文字列にシリアル化されるように、リフト自体に属性を追加します。
jsonserializer:jsonserializerにコンバーターを含む:
このメソッドは、シリアル化のプロセスで遭遇したすべての列挙にコンバーターを適用します。
-
jsonconveter:別の方法は、jsonConvertクラスを使用することです。
-
さらにカスタマイズ
StringEnumConverterは、列挙文字列の小文字の制御や値を受け入れるかどうかなど、他の税関を許可します。これは、StringEnumConverter(namingstrategy、boolean)を介して実装できます。 <code class="language-csharp">serializer.Converters.Add(new Newtonsoft.Json.Converters.StringEnumConverter());</code>
以上がjavascriptserializerとjson.netを使用して、文字列としてenumsをシリアル化する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。