Die Community zu .NET und Classic VB.
Menü

Tipp-Upload: VB.NET 0417: JSON String deserialisieren

 von 

Über den Tipp  

Dieser Tippvorschlag wird übernommen.

Der Vorschlag ist in den folgenden Kategorien zu finden:

  • Algorithmen
  • Datenbanken und XML
  • Internet und Netzwerke

Dem Tippvorschlag wurden folgende Schlüsselwörter zugeordnet:
json,.net,deserialisierung

Der Vorschlag wurde erstellt am: 26.10.2011 22:09.
Die letzte Aktualisierung erfolgte am 26.10.2011 22:09.

Zurück zur Übersicht

Beschreibung  

Dieses Programmbeispiel verwendet die Microsoft Bibliothek
System.Runtime.Serialization.Json.DataContractJsonSerializer
um einen String in JSON-Notation in ein Objekt einzulesen.
Die Klasse, in die der JSON-String deserialisiert wird, muss
manuell designt werden.
Es handelt sich um eine Konsolenanwendung, die gg. das .NET Framework 4
kompiliert werden sollte.

Schwierigkeitsgrad

Schwierigkeitsgrad 2

Verwendete API-Aufrufe:

Download:

Download des Beispielprojektes [8,69 KB]

' 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 JSON002.vbproj ------------
' ----------------- Anfang Datei Module1.vb  -----------------
Module Module1

    Sub Main()

        Dim oJS001 As New JSON001()

        Dim serializer001 As New _
            System.Runtime.Serialization.Json.DataContractJsonSerializer(GetType(JSON001))

        Dim strmJS001 As New System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes( _
            My.Resources.json001))

        oJS001 = serializer001.ReadObject(strmJS001)

        Dim oJS002 As New JSON002()

        Dim serializer002 As New _
            System.Runtime.Serialization.Json.DataContractJsonSerializer(GetType(JSON002))

        Dim strmJS002 As New System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes( _
            My.Resources.json002))

        oJS002 = serializer002.ReadObject(strmJS002)

        Dim oJS003 As New JSON003()

        Dim serializer003 As New _
            System.Runtime.Serialization.Json.DataContractJsonSerializer(GetType(JSON003))

        Dim strmJS003 As New System.IO.MemoryStream(System.Text.Encoding.UTF8.GetBytes( _
            My.Resources.json003))

        oJS003 = serializer003.ReadObject(strmJS003)

    End Sub

End Module

Public Class JSON001

    Public Property img As String
        Public Property num As Int16

        End Class

        Public Class JSON002

            Public Class Cstru

                Public Property strumem As Integer

                End Class

                Public Property img As String
                    Public Property num As Int16
                        Public Property stru As Cstru

                        End Class

                        Public Class JSON003

                            Public Class Cstru

                                Public Class Cstruinner

                                    Public Property innerstrunum As Integer

                                    End Class

                                    Public Property struinner As Cstruinner
                                        Public Property strumem As Integer

                                        End Class

                                        Public Property img As String
                                            Public Property num As Int16
                                                Public Property stru As Cstru

                                                End Class

                                                ' ------------------ Ende Datei Module1.vb
                                                ' ------------------
                                                ' ------------- Ende Projektdatei
                                                ' JSON002.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.