VB.NET-Tipp 0156: JSON String deserialisieren (DataContract.JsonSerializer)
von Bernhard Döbler
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: | 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: |
' 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.