ホームページ >バックエンド開発 >C++ >javascriptserializerとjson.netを使用して、文字列としてenumsをシリアル化する方法は?

javascriptserializerとjson.netを使用して、文字列としてenumsをシリアル化する方法は?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-29 09:26:10173ブラウズ

How to Serialize Enums as Strings Using JavaScriptSerializer and Json.NET?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。