Parsen von JSON-Objekten in c#
Ich versuche, mit dem Beispiel in diesem link
http://sharpdevpt.blogspot.com/2009/10/deserialize-json-on-c.html?showComment=1265045828773#c2497312518008004159
Aber mein Projekt nicht kompilieren mit JavaScriptConvert.DeserializeObject, das Beispiel sagt, das ist aus einer .net-Bibliothek kennt jemand welche?
Ich weiß, das Beispiel unten verwendet Newtonsoft.Json....
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Javascript-Serialisierung in .NETTO ist Teil der
System.Web.Script.Serialization
namespace.Hier ist eine Beispiel-Erweiterung Methode, die ich verwenden Deserialisieren von strings:
Da dieses eine Erweiterung Methode der
string
Sie können es auf eine beliebige Zeichenfolge.System.Web.Extensions.dll
. Eine schnelle MSDN-Suche finden können.Möchten Sie vielleicht auch, um einen Blick auf JSON.NET, die eine Kostenlose, open-source-Projekt, und es ist viel schneller als der eingebaute .NET JSON-serialisierungsprogramme, und es ist auch verfügbar auf .NET 1.x und 2.0, wenn Sie noch brauchen, jene zu unterstützen.
Es ist ein ganz wunderbares Stück software, in der Tat! Sehr zu empfehlen.
Den link, den Sie gepostet wird, ist aus meinem blog, was ist das problem mit ihm? fühlen Sie sich frei, um die Antwort auf die blog-post oder E-mail mich zu [email protected].
Ich habe mit für eine Weile und es funktioniert gut.
Über die diskutiert JavascriptSerializer, die eingebettet auf dem .Net Framework, das problem ist, dass dieser serializer nicht serialisieren zu/aus der Liste<>. Wenn Sie wollen, es zu tun, müssen Sie die Verwendung von Newtonsoft.JSON-es zu tun, weil .NET Framework einfach nicht unterstützen. Und da die wichtigste Anwendung für diese ist die Rückgabe von JSON um einige clientseitige Skript für die Suche oder was auch immer, die Liste<> Sache, die ist ein muss.
Aber mit diesem Stück code kann man nicht Deserialisieren/serialisieren Liste<> die sind sehr praktisch, wenn Sie ' re Umgang mit Ergebnis-sets, und Sie sind leistungsfähiger als .NET eingebaut.JavascriptSerializer, so dass die Newtonsoft.Json ist die beste option:
Für ein einzelnes Objekt des benutzerdefinierten Typ:
Für eine Liste von Objekten, die von Ihrem benutzerdefinierten Typ:
Das problem ist, dass die Newtonsoft.Json kann nicht damit umgehen, eingebettet regex in string. Er denkt, dass \( ist ein schlechtes escape-Sequenz. Dies wirft die Frage auf: Was kümmert es Newtonsoft nach innen zu schauen, eine Zeichenfolge in Anführungszeichen? "...." soll sagen, der Konverter, dass das Zeug da ist.
Für einen einfachen Weg zu Deserialisieren
http://blogs.msdn.com/rakkimk/archive/2009/01/30/asp-net-json-serialization-and-deserialization.aspx