Lesen der JSON-URL mit Hilfe von Visual Basic .net
Ich versuche zu Lesen-URL mit JSON
Das Lesen der Datei in der URL ist ok, aber wenn man versucht zum Parsen der JSON bekomme ich eine Fehlermeldung:
An unhandled exception of type 'Newtonsoft.Json.JsonReaderException' occurred in Newtonsoft.Json.dll
Additional information: Error reading JObject from JsonReader. Current JsonReader item is not an object: StartArray. Path '', line 2, position 2.
Code:
Dim request As HttpWebRequest
Dim response As HttpWebResponse = Nothing
Dim reader As StreamReader
request = DirectCast(WebRequest.Create("http://phvarde.kundeside.dk/json?key=t6%$SVAKsG39"), HttpWebRequest)
response = DirectCast(request.GetResponse(), HttpWebResponse)
reader = New StreamReader(response.GetResponseStream())
Dim rawresp As String
rawresp = reader.ReadToEnd()
Dim jResults As Object = JObject.Parse(rawresp)
TxtFornavn.Text = If(jResults("name") Is Nothing, "", jResults("name").ToString())
TxtAdresse.Text = If(jResults("address") Is Nothing, "", jResults("address").ToString())
mögliche Duplikate von JSON Deserialisieren in Visual Basic .NET
InformationsquelleAutor Steen Sommer | 2015-09-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sie diese Fehlermeldung bekommen, weil Sie Ihre JSON stellt ein array von Objekten, nicht nur ein einzelnes Objekt. In diesem Fall müssen Sie die Verwendung von
JArray.Parse
stattJObject.Parse
.Fiddle: https://dotnetfiddle.net/2wfA17
Wie kann ich implementieren Sie die Lösung mit einem array?? Der code: Dim jsonstr As String = " Datei.ReadAllText("c:\temp\json.json") Dim jResults Als JObject = JObject.Parse(jsonstr) Dim Ergebnis Als Generische.Liste(Von JToken) = jResults.Die Kinder().ToList() Für Jedes Element JProperty die Ergebnisse posten.CreateReader() Select Case Element.Name Case "name" TxtFornavn.Text = Element.Wert.ToString End select
Ich bin mir nicht sicher, ob ich verstehe, was Sie versuchen zu tun. Bearbeiten können Sie Ihre Frage zu klären? Putting-code in den Kommentaren nicht sehr gut funktioniert.
Ich versuche, einen Datensatz zu einer Zeit und in einer windowsform. Wenn die ersten Daten genehmigt wurde, senden wir es auf einer SQL-Datenbank und der Nächste Datensatz geladen werden soll, um die windowsform.
Das klingt wie ein andere Frage. Ich würde empfehlen, die Eröffnung einer neuen Frage.
InformationsquelleAutor Brian Rogers