javascriptserializer
を使用したJSONの文字列としてのシリアル化.net enms標準.NETJavaScriptSerializer
は、多くの場合、JSON内の整数値としてenmsを出力します。 それらを名前を表す文字列としてシリアル化するために、いくつかの方法が存在します。
メソッド1:json.netの StringEnumConverter
をレバレッジします
を利用しています。 このコンバーターは、列挙定義レベルまたはプロパティレベルのいずれかで適用できます。
StringEnumConverter
これにより、結果のJSONの文字列(「男性」または「女性」)としてシリアル化されます。
<code class="language-csharp">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; } }</code>メソッド2:グローバル構成オプション
Gender
より広いアプリケーションの場合は、グローバルに
enumレベルで:StringEnumConverter
その列挙のすべての使用にわたって一貫した文字列シリアル化のために、コンバーターを列挙定義自体に適用します。
with:
コンバーターを固有<code class="language-csharp"> [JsonConverter(typeof(StringEnumConverter))] public enum Gender { Male, Female }</code>
withJsonSerializer
:シリアル化中にコンバーターを直接塗布します:JsonSerializer
<code class="language-csharp"> var serializer = new JsonSerializer(); serializer.Converters.Add(new StringEnumConverter()); // ... use serializer to serialize your objects ...</code>
JsonConvert
のカスタマイズ
<code class="language-csharp"> string json = JsonConvert.SerializeObject(myObject, new StringEnumConverter());</code>コンストラクターはさらにカスタマイズされ、命名規則と数の処理を制御できるようにします。 詳細なオプションについては、json.netドキュメントを参照してください
以上がjavascriptserializerを使用して、jsonの文字列として.net enumをシリアル化する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。