System.Web.Script.Serialization.JavaScriptSerializer oder System.Runtime.Serialization.Json.DataContractJsonSerializer?
Was ist der Unterschied zwischen den beiden? Warum würden Sie einen über den anderen?
InformationsquelleAutor der Frage Shawn Miller | 2009-05-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Finden Sie hier: http://aaron-powell.spaces.live.com/blog/cns!91A824220E2BF369!150.Eintrag
DataContractJsonSerializer
Der primäre Zweck der DataContractJsonSerializer verwendet werden, die mit WCF, da man die Serialisierung ist ein großer Schwerpunkt der WCF. Außerdem ist es auch besser ausgestattet ist, um komplexe Klassen, die nur bestimmte Eigenschaften zur Verfügung, die für die Serialisierung.
Diese Klasse ist stärker typisiert ist, hat mehr Kenntnisse über die Art(en) es ist die Handhabung und bessere Fehlerbehandlung für schlecht-gebildet JSON.
JavaScriptSerializer
Dieser Klasse auf der anderen Seite ist viel besser ausgestattet für die schnelle Serialisierung, es ist eine cowboy-Ansatz. Es gibt weniger Fehler zu überprüfen und weniger Kontrolle über das, was Eigenschaften, die serialisiert werden.
Update
Als der obige link ist tot, hier ist noch ein link: http://kb.cnblogs.com/a/1454030.
InformationsquelleAutor der Antwort Kamarey
Persönlich würde ich schauen, Json.NET - dies hat den Vorteil des seins .NET 2.0 kompatibel
InformationsquelleAutor der Antwort Marc Gravell
JavaScriptSerializer als veraltet markiert ist in der framework 3.5. Sie sollten nicht verwenden es aus diesem Grund. Aber zurück zu deiner Frage. JavaScriptSerializer nicht erforderlich Klassen werden markiert als [Serializable] oder als [DataContract] aber der DataContractJsonSerializer tut. Wenn Sie kompilierten Klassen, können Sie nicht die Marke mit Attributen, die Sie verwenden möchten, können die älteren JSON serializer.
InformationsquelleAutor der Antwort W. Kevin Hazzard