Die Community zu .NET und Classic VB.
Menü

VB.NET-Tipp 0156: JSON String deserialisieren (DataContract.JsonSerializer)

 von 

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

Framework-Version(en):

.NET Framework 1.0, .NET Framework 1.1, .NET Framework 2.0, .NET Framework 3.0, .NET Framework 3.5, .NET Compact Framework 1.0, .NET Compact Framework 2.0, .NET Framework 4

.NET-Version(en):

Visual Basic 2002, Visual Basic 2003, Visual Basic 2005, Visual Basic 2008, Visual Basic 2010

Download:

Download des Beispielprojektes [8,65 KB]

' Dieser Quellcode 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!

' Projektversion:   
' Option Strict:    Aus
' Option Explicit:  An
' Option Infer:     An
'
' Referenzen: 
'  - System
'  - System.Data
'  - System.Deployment
'  - System.Runtime.Serialization
'  - System.Xml
'  - System.Core
'  - System.Xml.Linq
'  - System.Data.DataSetExtensions
'
' Imports: 
'  - Microsoft.VisualBasic
'  - System
'  - System.Collections
'  - System.Collections.Generic
'  - System.Data
'  - System.Diagnostics
'  - System.Linq
'  - System.Xml.Linq
'

' ##############################################################################
' ################################ 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

Ihre Meinung  

Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.