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