Tipp-Upload: VB.NET 0416: JSON-String deserialisieren
von Bernhard Döbler
Über den Tipp
Dieser Tippvorschlag wird übernommen.
Der Vorschlag ist in den folgenden Kategorien zu finden:
- Algorithmen
- Internet und Netzwerke
- Sprachmerkmale
Dem Tippvorschlag wurden folgende Schlüsselwörter zugeordnet:
json,.net4,deserialisierung
Der Vorschlag wurde erstellt am: 26.10.2011 22:07.
Die letzte Aktualisierung erfolgte am 26.10.2011 22:07.
Beschreibung
Dieses Programmbeispiel verwendet die Microsoft Bibliothek System.Web.Extensions
um einen String in JSON-Notation in ein Dictionary-Objekt einzulesen.
Es handelt sich um eine Konsolenanwendung, die gg. das .NET Framework 4
kompiliert werden sollte.
Schwierigkeitsgrad |
Verwendete API-Aufrufe: |
Download: |
' Dieser Source stammt von http://www.activevb.de ' und kann frei verwendet werden. Für eventuelle Schäden ' wird nicht gehaftet. ' Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum. ' Ansonsten viel Spaß und Erfolg mit diesem Source! ' ' Beachten Sie, das vom Designer generierter Code hier ausgeblendet wird. ' In den Zip-Dateien ist er jedoch zu finden. ' ------------ Anfang Projektdatei JSON001.vbproj ------------ ' ----------------- Anfang Datei Module1.vb ----------------- Module Module1 Sub Main() ' Projektverweis auf C:\Program Files (x86)\Reference ' Assemblies\Microsoft\Framework\.NETFramework\v4.0\System.Web.Extensions.dll Dim JSSerializer As New System.Web.Script.Serialization.JavaScriptSerializer() ' JSON-Beispielstrings als Ressource hinterlegt Dim d As Dictionary(Of String, Object) = JSSerializer.Deserialize(Of Dictionary(Of _ String, Object))(My.Resources.json003) RecourseDict(d, 0) Console.WriteLine("") Console.Write("Press Enter to Exit...") Console.ReadLine() End Sub Sub RecourseDict(ByVal d As Dictionary(Of String, Object), ByVal depth As Int32) For Each key As String In d.Keys ' Console.WriteLine(TypeName(d.Item(key))) ' Console.WriteLine(key & ": " & d.Item(key)) Dim tabs As New String(ChrW(9), depth) Console.Write(tabs) Console.Write(key & ": ") If TypeOf (d.Item(key)) Is Dictionary(Of String, Object) Then Console.WriteLine("{") RecourseDict(d.Item(key), depth + 1) Console.Write(tabs) Console.WriteLine("}") Else Console.WriteLine(d.Item(key)) End If Next End Sub End Module ' ------------------ Ende Datei Module1.vb ------------------ ' ------------- Ende Projektdatei JSON001.vbproj -------------
Diskussion
Diese Funktion ermöglicht es, Fragen, die die Veröffentlichung des Tipps betreffen, zu klären, oder Anregungen und Verbesserungsvorschläge einzubringen. Nach der Veröffentlichung des Tipps werden diese Beiträge nicht weiter verlinkt. Allgemeine Fragen zum Inhalt sollten daher hier nicht geklärt werden.
Folgende Diskussionen existieren bereits
Um eine Diskussion eröffnen zu können, müssen sie angemeldet sein.