[解決済み] JavaScriptSerializer - 列挙型を文字列としてJSONシリアライズする
2022-03-19 21:07:03
質問
クラスがあり、そのクラスには
enum
プロパティを使用してオブジェクトをシリアライズすると
JavaScriptSerializer
この場合、私の json の結果には、列挙型の整数値が含まれています。
string
name"です。 として列挙を取得する方法はありますか?
string
を作成する必要はありません。
JavaScriptConverter
? もしかしたら、このような属性で
enum
の定義、またはオブジェクトのプロパティに使用できますか?
例として
enum Gender { Male, Female }
class Person
{
int Age { get; set; }
Gender Gender { get; set; }
}
希望するJSONの結果。
{ "Age": 35, "Gender": "Male" }
理想的には、組み込みの.NETフレームワークのクラスで答えを探していますが、可能でない場合は、代替品(Json.netなど)を歓迎します。
どのように解決するのですか?
特別に使用できる属性はありません。
JavaScriptSerializer
シリアライズ
enums
を文字列表現ではなく、数値に変換します。をシリアライズするためには、カスタムシリアライズを使用する必要があります。
enum
を数値ではなく名前として使用します。
の代わりにJSON.Netが使えるのであれば、それを利用することができます。
JavaScriptSerializer
を見るより
この質問に対する回答
が提供する
オメルバハリ
: JSON.netはこのユースケースをカバーしています(属性の
[JsonConverter(typeof(StringEnumConverter))]
その他、.net の内蔵シリアライザーでは扱えないものが多数あります。
シリアライザーの特徴と機能を比較したリンクはこちらです。
.
関連
-
[解決済み] Java enumのメンバーを比較する:==またはequals()?
-
[解決済み] 正しいJSONコンテンツタイプは何ですか?
-
[解決済み] JSONでコメントを使用することはできますか?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] enumを列挙するには
-
[解決済み] intをenumにキャストするにはどうすればよいですか?
-
[解決済み] JavaScriptでJSONをきれいに印刷する
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] C#でenumからint値を取得する
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] [Solved] 1つ以上のエンティティで検証に失敗しました。詳細は'EntityValidationErrors'プロパティを参照してください [重複]。
-
[解決済み】GDI+、JPEG画像をMemoryStreamに変換する際にジェネリックエラーが発生しました。
-
[解決済み】ここで「要求URIに一致するHTTPリソースが見つかりませんでした」となるのはなぜですか?
-
[解決済み】Unity3DでOnTriggerEnterが動作しない件
-
[解決済み] EntityTypeにキーが定義されていないエラー
-
[解決済み】Visual Studio: 操作を完了できませんでした。パラメータが正しくありません
-
[解決済み】5.7.57 SMTP - MAIL FROMエラー時に匿名メールを送信するためにクライアントが認証されない
-
[解決済み】Linq 構文 - 複数列の選択
-
[解決済み】エラー「必要なフォーマルパラメータに対応する引数が与えられていない」を解決する?
-
[解決済み】プロセスが実行されているかどうかを知るには?