Ich habe ein JSON-Objekt, das so aussieht.Benutzerdefiniertes JSON-Objekt in ein VB.NET-Objekt konvertieren
{
"Errors":{
"err1":[
//* Array of err1 objects
],
"err2":[
//* Array of err2 objects
]
}
}
Ich verwende dieses Objekt, um Fehler, die bei einer Anfrage auf einer PHP-Seite gefunden wurden, zu melden.
ich das Objekt zu einem vb.Net Objekt konvertieren möchten erklärt im Wesentlichen wie folgt:
Public Class WebErrContainer
Public Errors as List(Of IWebError)
End Class
Public Class Err1
Implements IWebError
End Class
Public Class Err2
Implements IWebError
End Class
Public Interface IWebError
End Interface
Ich weiß nicht, ob meine Implementierung ist gut genug, ich bin relativ neu so VB.NET Meine Fähigkeiten in OOP sind momentan etwas niedrig.
Das ist es ... ich denke, ich habe die Situation so gut erklärt, wie ich konnte.
Wenn Sie weitere Informationen benötigen, werde ich es geben.
Vielen Dank im Voraus für jede Hilfe, die Sie geben könnten. Vielen Dank.
PD: Ich verwende derzeit die JSON.Net-Bibliothek von Newtonsoft. Fühlen Sie sich frei, eine andere Bibliothek oder Methode zu empfehlen, mit JSON in VB.NET umzugehen.
löste ich die Situation dies tun:
Public Sub New(ByVal jsonText As String)
Dim jObject As JObject = jObject.Parse(jsonText)
Dim jErrors As JToken = jObject("Errors")
Dim jS = New JsonSerializer()
' This is the "temporal" dictionary that stores the errors like they are
' stored in JSON
Dim jsErrs As New Dictionary(Of String, List(Of Object))
' List that is going to be passed to the "Errors" field in the class
Dim lErrors As New List(Of IWebError)
jsErrs = jS.Deserialize(New JTokenReader(jErrors), jsErrs .GetType)
If Not jsErrs Is Nothing Then
For Each errType As KeyValuePair(Of String, List(Of Object)) In jsErrs
For Each Err As Object In errType.Value
lErrors .Add(jS.Deserialize(New JTokenReader(Err), Type.GetType(errType.Key)))
Next
Next
End If
Me.Errors = lErrors
End Sub
ich eine Lösung gegeben, ich herauskam ... Wenden Sie sich bitte Fehler im Code gefunden zu melden. Danke für die Antworten svick und Jayesh ... – saggio09