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

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

DDD
リリース: 2025-01-29 09:21:14
オリジナル
294 人が閲覧しました

How to Serialize a .NET Enum as a String in JSON using JavaScriptSerializer?

javascriptserializer

を使用したJSONの文字列としてのシリアル化.net enms

標準.NETJavaScriptSerializerは、多くの場合、JSON内の整数値としてenmsを出力します。 それらを名前を表す文字列としてシリアル化するために、いくつかの方法が存在します。

メソッド1:json.netの StringEnumConverterをレバレッジします

最も簡単で推奨されるアプローチは、json.netの強力な

を利用しています。 このコンバーターは、列挙定義レベルまたはプロパティレベルのいずれかで適用できます。 StringEnumConverter これにより、結果のJSONの文字列(「男性」または「女性」)としてシリアル化されます。

using Newtonsoft.Json;
using Newtonsoft.Json.Converters;

[JsonConverter(typeof(StringEnumConverter))]
public enum Gender { Male, Female }

public class Person
{
    public int Age { get; set; }
    [JsonConverter(typeof(StringEnumConverter))] // Or apply at property level
    public Gender Gender { get; set; }
}
ログイン後にコピー
メソッド2:グローバル構成オプション

Gender より広いアプリケーションの場合は、グローバルに

を構成します:

enumレベルで:StringEnumConverterその列挙のすべての使用にわたって一貫した文字列シリアル化のために、コンバーターを列挙定義自体に適用します。

  • with

    コンバーターを固有
      [JsonConverter(typeof(StringEnumConverter))]
      public enum Gender { Male, Female }
    ログイン後にコピー
  • withJsonSerializerシリアル化中にコンバーターを直接塗布します:JsonSerializer

      var serializer = new JsonSerializer();
      serializer.Converters.Add(new StringEnumConverter());
      // ... use serializer to serialize your objects ...
    ログイン後にコピー
  • JsonConvertのカスタマイズ

      string json = JsonConvert.SerializeObject(myObject, new StringEnumConverter());
    ログイン後にコピー
    コンストラクターはさらにカスタマイズされ、命名規則と数の処理を制御できるようにします。 詳細なオプションについては、json.netドキュメントを参照してください

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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート