Import von JSON-Daten ins VB.NET Projekt
Hallo zusammen,
ich möchte in meinem vb.net Projekt die aktuellen Feiertage importieren und fand folgende Website: https://feiertage-api.de/
Dort werden die Daten über JSON zur Verfügung gestellt. Vorteil ist, das ich somit immer die aktuelle Feiertage des Jahres habe.
Ich habe nun schon gesucht und probiert, aber leider noch keinen Erfolg gehabt, diese Daten in mein Projekt zu bekommen.
Als nützlich für dieses Vorhaben erweist sich wohl die Bibliothek Newtonsoft.Json.
Der Inhalt der JSON mit Filterung auf MV sieht wie folgt aus:
Über einen Button wollte ich nun die Daten auslesen:
Ich habe mich dabei an eine Vorlage im Web gehalten.
Wenn ich nun auf den Button drücke, erscheint mir folgende Exception:
Ich weiß nicht obs die Hitze im Büro ist, aber ich verstehe gerade nicht warum er eine Proxy Auth möchte :S
Dazu sei gesagt, das ich, wie man sieht, keine Erfahrung mit JSON habe und VB.Net seit ca. 1 Woche aktiv betreibe.
Ich bedanke mich schonmal für eure Zeit und Hilfe.
Grüße,
Pat
ich möchte in meinem vb.net Projekt die aktuellen Feiertage importieren und fand folgende Website: https://feiertage-api.de/
Dort werden die Daten über JSON zur Verfügung gestellt. Vorteil ist, das ich somit immer die aktuelle Feiertage des Jahres habe.
Ich habe nun schon gesucht und probiert, aber leider noch keinen Erfolg gehabt, diese Daten in mein Projekt zu bekommen.
Als nützlich für dieses Vorhaben erweist sich wohl die Bibliothek Newtonsoft.Json.
Der Inhalt der JSON mit Filterung auf MV sieht wie folgt aus:
{"Neujahrstag":{"datum":"2016-01-01","hinweis":""},"Karfreitag":{"datum":"2016-03-25","hinweis":""},"Ostermontag":{"datum":"2016-03-28","hinweis":""},"Tag der Arbeit":{"datum":"2016-05-01","hinweis":""},"Christi Himmelfahrt":{"datum":"2016-05-05","hinweis":""},"Pfingstmontag":{"datum":"2016-05-16","hinweis":""},"Fronleichnam":{"datum":"2016-05-26","hinweis":""},"Tag der Deutschen Einheit":{"datum":"2016-10-03","hinweis":""},"Allerheiligen":{"datum":"2016-11-01","hinweis":""},"1. Weihnachtstag":{"datum":"2016-12-25","hinweis":""},"2. Weihnachtstag":{"datum":"2016-12-26","hinweis":""}}
Über einen Button wollte ich nun die Daten auslesen:
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim jsonURL As String = "https://feiertage-api.de/api/?jahr=2019&nur_land=MV"
Dim reader As StreamReader
Dim errorMsg As String = Nothing
Try
Dim request As HttpWebRequest = CType(WebRequest.Create(jsonURL), HttpWebRequest)
Dim response As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse)
reader = New StreamReader(response.GetResponseStream())
Dim jsonStr As String = reader.ReadToEnd()
PrintJSON(jsonStr)
Catch ex As WebException
errorMsg = "Download failed. The response from the server was " +
CType(ex.Response, HttpWebResponse).StatusDescription
Console.WriteLine("Error: " + errorMsg)
End Try
End Sub
Ich habe mich dabei an eine Vorlage im Web gehalten.
Wenn ich nun auf den Button drücke, erscheint mir folgende Exception:
Ausnahme ausgelöst: "System.Net.WebException" in System.dll
Error: Download failed. The response from the server was Proxy Authorization Required
Ich weiß nicht obs die Hitze im Büro ist, aber ich verstehe gerade nicht warum er eine Proxy Auth möchte :S
Dazu sei gesagt, das ich, wie man sieht, keine Erfahrung mit JSON habe und VB.Net seit ca. 1 Woche aktiv betreibe.
Ich bedanke mich schonmal für eure Zeit und Hilfe.
Grüße,
Pat
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 466120
Url: https://administrator.de/forum/import-von-json-daten-ins-vb-net-projekt-466120.html
Ausgedruckt am: 26.04.2025 um 07:04 Uhr
13 Kommentare
Neuester Kommentar
Hello again, isch sag einfach hello again ...
Folgende Verweise zusätzlich zum Projekt hinzufügen:
Grüße Uwe
Folgende Verweise zusätzlich zum Projekt hinzufügen:
- System.Web
- System.Web.Extensions
Imports System.Net
Imports System.Globalization
Imports System.Web.Script.Serialization
Public Class Form1
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
' simplen Webclient für den Download
Dim client As New WebClient
' Download als String
Dim result As String = client.DownloadString("https://feiertage-api.de/api/?jahr=2019&nur_land=MV")
' Serializer Objekt erstellen
Dim j As JavaScriptSerializer = New JavaScriptSerializer()
' JSON String in Objekt konvertieren
Dim json As Object = j.Deserialize(result, GetType(Object))
' Über die Items des Objects itterieren
For Each x As KeyValuePair(Of String, Object) In json
' Name des Feiertags
Dim strName As String = x.Key
' Datum des Feiertags in DateTime Objekt wandeln
Dim d As Date
DateTime.TryParseExact(x.Value("datum"), "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture, DateTimeStyles.None, d)
' und zur Demo ausgeben lassen
MsgBox(strName & " : " & d.ToString())
Next
End Sub
End Class
Der Remoteserver hat einen Fehler zurückgegeben: (407) Proxyauthentifizierung erforderlich.
Ist doch das selbe wie oben, du hast vergessen deine Proxy-Credentials über die du ins Web gehst im Webclient anzugeben. Der Client hat auch eine "Proxy"-Property!https://docs.microsoft.com/de-de/dotnet/api/system.net.webclient.proxy?v ...
Ich schiebe es mal auf die Hitze hier
Na dann ...