Heim >Backend-Entwicklung >C++ >Warum serialisiert meine ASP.NET MVC-Anwendung Aufzählungen als Zahlen statt als Zeichenfolgen und wie kann ich das Problem beheben?
Fehlerbehebung bei der Standard -JSON -Serialisierung von ASP.NET MVC
Eine ASP.NET -MVC -Anwendung serialisiert die Enums unerwartet als Zahlen in JSON -Antworten, obwohl JSON.NET als Standard -Serializer angenommen wird. Dieser Artikel diagnostiziert die Grundursache und bietet Lösungen.
Verständnis des Standardserializers
Im Gegensatz zum gemeinsamen Glauben ist der Standard -JSON -Serializer von ASP.NET MVC 4 JavaScriptSerializer
, nicht json.net. Dies erklärt, warum die erwartete String -Darstellung von Enums nicht auftritt. Das Problem ist keine fehlende web.config
Einstellung.
Implementieren von json.net als Standard -Serializer
Um die Funktionen von JSON.NET zu nutzen und Enums als Zeichenfolgen zu serialisieren, ist eine benutzerdefinierte Konfiguration unerlässlich. Dies beinhaltet das Erstellen einer benutzerdefinierten JsonNetResult
-Klasse und das Konfigurieren dieser in den Referenzlösungen beschrieben.
Sicherstellen, dass die korrekte Modellbindung mit json.net
sicherstellt Für die nahtlose Modellbindung bei Verwendung von JSON.NET ist ein benutzerdefinierter ValueProviderFactory
erforderlich. Diese benutzerdefinierte Fabrik muss registriert werden, wodurch das Standard JsonValueProviderFactory
ersetzt wird, wie in den angegebenen Code -Beispielen gezeigt. Die referenzierten Ressourcen bieten detaillierte Anweisungen für diese Implementierung.
Das obige ist der detaillierte Inhalt vonWarum serialisiert meine ASP.NET MVC-Anwendung Aufzählungen als Zahlen statt als Zeichenfolgen und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!