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

javascriptserializerを使用して弦を文字列としてシリアル化する方法は?

Barbara Streisand
Barbara Streisandオリジナル
2025-01-29 09:31:08887ブラウズ

How to Serialize Enums as Strings Using JavaScriptSerializer?

javascriptserializer列挙文字列シリアル化方法詳細な説明

javascriptserializerを使用する場合、列挙属性を含むオブジェクトをシリアル化する場合、JSONの結果には、文字列表現の代わりに整数値が含まれている場合があります。この問題を解決するために、次の方法を検討できます。

属性ベースのコンバーター

属性を使用して、定義またはオブジェクト属性を飾り、

タイプを指定します。これは、シリアル化プログラムが列挙値を文字列に変換することを示します。 [JsonConverter] StringEnumConverter jsonserializerコンバーター

<code class="language-csharp">using Newtonsoft.Json;
using Newtonsoft.Json.Converters;

[JsonConverter(typeof(StringEnumConverter))]
public Gender Gender { get; set; }</code>
または、に直接

に追加します

StringEnumConverterグローバル構成 JsonSerializer列挙または

のグローバル構成でコンバーターを構成することもできます。
<code class="language-csharp">serializer.Converters.Add(new Newtonsoft.Json.Converters.StringEnumConverter());</code>

列挙:

JsonConverter

  • jsonconveter:

    <code class="language-csharp">  [JsonConverter(typeof(StringEnumConverter))]
      public enum Gender { Male, Female }</code>
  • その他のオプション

    lialingcase:

    構造関数を使用して、文字列の文字列を制御し、数値を受け入れるかどうかを制御します。
    <code class="language-csharp">  JsonConvert.SerializeObject(MyObject, new Newtonsoft.Json.Converters.StringEnumConverter());</code>
  • 属性のカスタマイズ:

を使用して、

属性を使用してコンバーターを飾ることができます。

以上がjavascriptserializerを使用して弦を文字列としてシリアル化する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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