JSON-Datei an bestimmter Stelle auslesen und in txt-File schreiben

wetterfrosch

Mitglied
Hallo Experten,
ich bin ambitionierter Wetterstationsbetreiber und habe folgendes Problem: Der DWD stellt für die Integration in eine eigene Website eine JSON-Datei der aktuellen Wetterwarnungen zur Verfügung, aber leider keine brauchbare Hilfestellung zur Nutzung dieser Datei. Mich interessiert natürlich nur der Bereich, der für meinen Landkreis in dieser Datei vorhanden ist. Der Landkreis Nienburg wird mit der Marke "103256000" angesprungen. Aber wie lese ich diese Informationen aus und wie kann ich diese anschließend in eine TXT-Datei schreiben. Und hier nun eine typische Wetterwarnung (warnings.json):

JSON:
warnWetter.loadWarnings({"time":1737293872000,"warnings":{"103401000":[{"state":"Niedersachsen","type":5,"level":2,"start":1737302400000,"regionName":"Stadt Delmenhorst","end":1737460800000,"description":"Es tritt leichter Frost zwischen 0 °C und -4 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"NS","altitudeStart":null,"altitudeEnd":null},{"state":"Niedersachsen","type":6,"level":2,"start":1737306000000,"regionName":"Stadt Delmenhorst","end":1737367200000,"description":"Es besteht vereinzelt Glättegefahr.","event":"GLÄTTE","headline":"Amtliche WARNUNG vor GLÄTTE","instruction":"Hinweis auf Rutschgefahr. \nHandlungsempfehlungen: \nVerhalten im Straßenverkehr anpassen","stateShort":"NS","altitudeStart":null,"altitudeEnd":null}],"116065000":[{"state":"Thüringen","type":5,"level":2,"start":1737306000000,"regionName":"Kyffhäuserkreis","end":1737367200000,"description":"Es tritt leichter Frost zwischen -1 °C und -4 °C auf. In Tal- und Muldenlagen sinken die Temperaturen auf Werte bis -6 °C.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"TH","altitudeStart":null,"altitudeEnd":null}],"909671999":[{"state":"Bayern","type":5,"level":2,"start":1737306000000,"regionName":"Kreis und Stadt Aschaffenburg","end":1737367200000,"description":"Es tritt mäßiger Frost bis -6 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"BY","altitudeStart":null,"altitudeEnd":null}],"901059001":[{"state":"Schleswig-Holstein","type":5,"level":2,"start":1737302400000,"regionName":"Kreis Schleswig-Flensburg - Binnenland","end":1737370800000,"description":"Es tritt leichter Frost zwischen 0 °C und -3 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"SH","altitudeStart":null,"altitudeEnd":null}],"901059002":[{"state":"Schleswig-Holstein","type":5,"level":2,"start":1737302400000,"regionName":"Kreis Schleswig-Flensburg - Küste","end":1737370800000,"description":"Es tritt leichter Frost zwischen 0 °C und -3 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"SH","altitudeStart":null,"altitudeEnd":null}],"103102000":[{"state":"Niedersachsen","type":5,"level":2,"start":1737302400000,"regionName":"Stadt Salzgitter","end":1737460800000,"description":"Es tritt leichter Frost zwischen 0 °C und -4 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"NS","altitudeStart":null,"altitudeEnd":null}],"105362000":[{"state":"Nordrhein-Westfalen","type":4,"level":2,"start":1737283080000,"regionName":"Rhein-Erft-Kreis","end":1737367200000,"description":"Es tritt verbreitet Nebel mit Sichtweiten unter 150 Metern auf.","event":"NEBEL","headline":"Amtliche WARNUNG vor NEBEL","instruction":"Hinweis auf mögliche starke Sichteinschränkungen. \nHandlungsempfehlungen: \nFahrverhalten an plötzlich auftretende Sichtbehinderungen (Nebelbänke) anpassen","stateShort":"NRW","altitudeStart":null,"altitudeEnd":null},{"state":"Nordrhein-Westfalen","type":5,"level":2,"start":1737283260000,"regionName":"Rhein-Erft-Kreis","end":1737306000000,"description":"Es tritt leichter Frost zwischen 0 °C und -2 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"NRW","altitudeStart":null,"altitudeEnd":null},{"state":"Nordrhein-Westfalen","type":6,"level":2,"start":1737306000000,"regionName":"Rhein-Erft-Kreis","end":1737367200000,"description":"Es besteht vereinzelt Glättegefahr.","event":"GLÄTTE","headline":"Amtliche WARNUNG vor GLÄTTE","instruction":"Hinweis auf Rutschgefahr. \nHandlungsempfehlungen: \nVerhalten im Straßenverkehr anpassen","stateShort":"NRW","altitudeStart":null,"altitudeEnd":null},{"state":"Nordrhein-Westfalen","type":5,"level":2,"start":1737306000000,"regionName":"Rhein-Erft-Kreis","end":1737367200000,"description":"Es tritt leichter Frost zwischen -1 °C und -4 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"NRW","altitudeStart":null,"altitudeEnd":null}],"103358000":[{"state":"Niedersachsen","type":5,"level":2,"start":1737302400000,"regionName":"Heidekreis","end":1737460800000,"description":"Es tritt leichter Frost zwischen 0 °C und -4 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"NS","altitudeStart":null,"altitudeEnd":null}],"105958000":[{"state":"Nordrhein-Westfalen","type":6,"level":2,"start":1737306000000,"regionName":"Hochsauerlandkreis","end":1737367200000,"description":"Es besteht vereinzelt Glättegefahr.","event":"GLÄTTE","headline":"Amtliche WARNUNG vor GLÄTTE","instruction":"Hinweis auf Rutschgefahr. \nHandlungsempfehlungen: \nVerhalten im Straßenverkehr anpassen","stateShort":"NRW","altitudeStart":null,"altitudeEnd":null},{"state":"Nordrhein-Westfalen","type":5,"level":2,"start":1737306000000,"regionName":"Hochsauerlandkreis","end":1737367200000,"description":"Es tritt leichter Frost zwischen -1 °C und -5 °C auf. In Tal- und Muldenlagen sinken die Temperaturen auf Werte bis -7 °C.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"NRW","altitudeStart":null,"altitudeEnd":null}],"115083000":[{"state":"Sachsen-Anhalt","type":5,"level":2,"start":1737306000000,"regionName":"Kreis Börde","end":1737367200000,"description":"Es tritt leichter Frost zwischen -1 °C und -4 °C auf. In Tal- und Muldenlagen sinken die Temperaturen auf Werte bis -6 °C.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"SA","altitudeStart":null,"altitudeEnd":null}],"105915000":[{"state":"Nordrhein-Westfalen","type":5,"level":2,"start":1737283260000,"regionName":"Stadt Hamm","end":1737306000000,"description":"Es tritt leichter Frost zwischen 0 °C und -2 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"NRW","altitudeStart":null,"altitudeEnd":null},{"state":"Nordrhein-Westfalen","type":6,"level":2,"start":1737306000000,"regionName":"Stadt Hamm","end":1737367200000,"description":"Es besteht vereinzelt Glättegefahr.","event":"GLÄTTE","headline":"Amtliche WARNUNG vor GLÄTTE","instruction":"Hinweis auf Rutschgefahr. \nHandlungsempfehlungen: \nVerhalten im Straßenverkehr anpassen","stateShort":"NRW","altitudeStart":null,"altitudeEnd":null},{"state":"Nordrhein-Westfalen","type":5,"level":2,"start":1737306000000,"regionName":"Stadt Hamm","end":1737367200000,"description":"Es tritt leichter Frost zwischen -1 °C und -4 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"NRW","altitudeStart":null,"altitudeEnd":null}],"103360000":[{"state":"Niedersachsen","type":5,"level":2,"start":1737302400000,"regionName":"Kreis Uelzen","end":1737460800000,"description":"Es tritt leichter Frost zwischen 0 °C und -4 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"NS","altitudeStart":null,"altitudeEnd":null}],"108135000":[{"state":"Baden-Württemberg","type":5,"level":2,"start":1737280800000,"regionName":"Kreis Heidenheim","end":1737306000000,"description":"Es tritt leichter Frost um -1 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"BW","altitudeStart":null,"altitudeEnd":null},{"state":"Baden-Württemberg","type":5,"level":2,"start":1737306000000,"regionName":"Kreis Heidenheim","end":1737367200000,"description":"Es tritt mäßiger Frost bis -6 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"BW","altitudeStart":null,"altitudeEnd":null}],"105916000":[{"state":"Nordrhein-Westfalen","type":5,"level":2,"start":1737283260000,"regionName":"Stadt Herne","end":1737306000000,"description":"Es tritt leichter Frost zwischen 0 °C und -2 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"NRW","altitudeStart":null,"altitudeEnd":null},{"state":"Nordrhein-Westfalen","type":6,"level":2,"start":1737306000000,"regionName":"Stadt Herne","end":1737367200000,"description":"Es besteht vereinzelt Glättegefahr.","event":"GLÄTTE","headline":"Amtliche WARNUNG vor GLÄTTE","instruction":"Hinweis auf Rutschgefahr. \nHandlungsempfehlungen: \nVerhalten im Straßenverkehr anpassen","stateShort":"NRW","altitudeStart":null,"altitudeEnd":null},{"state":"Nordrhein-Westfalen","type":5,"level":2,"start":1737306000000,"regionName":"Stadt Herne","end":1737367200000,"description":"Es tritt leichter Frost zwischen -1 °C und -4 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"NRW","altitudeStart":null,"altitudeEnd":null}],"103359000":[{"state":"Niedersachsen","type":5,"level":2,"start":1737302400000,"regionName":"Kreis Stade","end":1737460800000,"description":"Es tritt leichter Frost zwischen 0 °C und -4 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"NS","altitudeStart":null,"altitudeEnd":null}],"108136000":[{"state":"Baden-Württemberg","type":5,"level":2,"start":1737280800000,"regionName":"Ostalbkreis","end":1737306000000,"description":"Es tritt leichter Frost um -1 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"BW","altitudeStart":null,"altitudeEnd":null},{"state":"Baden-Württemberg","type":5,"level":2,"start":1737306000000,"regionName":"Ostalbkreis","end":1737367200000,"description":"Es tritt mäßiger Frost bis -6 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"BW","altitudeStart":null,"altitudeEnd":null}],"103402000":[{"state":"Niedersachsen","type":5,"level":2,"start":1737284400000,"regionName":"Stadt Emden","end":1737460800000,"description":"Es tritt leichter Frost zwischen 0 °C und -4 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"NS","altitudeStart":null,"altitudeEnd":null},{"state":"Niedersachsen","type":6,"level":2,"start":1737306000000,"regionName":"Stadt Emden","end":1737367200000,"description":"Es besteht vereinzelt Glättegefahr.","event":"GLÄTTE","headline":"Amtliche WARNUNG vor GLÄTTE","instruction":"Hinweis auf Rutschgefahr. \nHandlungsempfehlungen: \nVerhalten im Straßenverkehr anpassen","stateShort":"NS","altitudeStart":null,"altitudeEnd":null}],"107111000":[{"state":"Rheinland-Pfalz","type":6,"level":2,"start":1737306000000,"regionName":"Stadt Koblenz","end":1737367200000,"description":"Es besteht vereinzelt Glättegefahr.","event":"GLÄTTE","headline":"Amtliche WARNUNG vor GLÄTTE","instruction":"Hinweis auf Rutschgefahr. \nHandlungsempfehlungen: \nVerhalten im Straßenverkehr anpassen","stateShort":"RP","altitudeStart":null,"altitudeEnd":null},{"state":"Rheinland-Pfalz","type":5,"level":2,"start":1737306000000,"regionName":"Stadt Koblenz","end":1737367200000,"description":"Es tritt leichter Frost zwischen -1 °C und -5 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"RP","altitudeStart":null,"altitudeEnd":null}],"116066000":[{"state":"Thüringen","type":5,"level":2,"start":1737306000000,"regionName":"Kreis Schmalkalden-Meiningen","end":1737367200000,"description":"Es tritt leichter Frost zwischen -1 °C und -4 °C auf. In Tal- und Muldenlagen sinken die Temperaturen auf Werte bis -6 °C.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"TH","altitudeStart":null,"altitudeEnd":null}],"115084000":[{"state":"Sachsen-Anhalt","type":5,"level":2,"start":1737306000000,"regionName":"Burgenlandkreis","end":1737367200000,"description":"Es tritt leichter Frost zwischen -1 °C und -4 °C auf. In Tal- und Muldenlagen sinken die Temperaturen auf Werte bis -6 °C.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"SA","altitudeStart":null,"altitudeEnd":null}],"103103000":[{"state":"Niedersachsen","type":5,"level":2,"start":1737302400000,"regionName":"Stadt Wolfsburg","end":1737460800000,"description":"Es tritt leichter Frost zwischen 0 °C und -4 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"NS","altitudeStart":null,"altitudeEnd":null}],"106431000":[{"state":"Hessen","type":6,"level":2,"start":1737306000000,"regionName":"Kreis Bergstraße","end":1737367200000,"description":"Es besteht vereinzelt Glättegefahr.","event":"GLÄTTE","headline":"Amtliche WARNUNG vor GLÄTTE","instruction":"Hinweis auf Rutschgefahr. \nHandlungsempfehlungen: \nVerhalten im Straßenverkehr anpassen","stateShort":"HE","altitudeStart":null,"altitudeEnd":null},{"state":"Hessen","type":5,"level":2,"start":1737306000000,"regionName":"Kreis Bergstraße","end":1737367200000,"description":"Es tritt leichter Frost zwischen -1 °C und -5 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"HE","altitudeStart":null,"altitudeEnd":null}],"105962000":[{"state":"Nordrhein-Westfalen","type":6,"level":2,"start":1737306000000,"regionName":"Märkischer Kreis","end":1737367200000,"description":"Es besteht vereinzelt Glättegefahr.","event":"GLÄTTE","headline":"Amtliche WARNUNG vor GLÄTTE","instruction":"Hinweis auf Rutschgefahr. \nHandlungsempfehlungen: \nVerhalten im Straßenverkehr anpassen","stateShort":"NRW","altitudeStart":null,"altitudeEnd":null},{"state":"Nordrhein-Westfalen","type":5,"level":2,"start":1737306000000,"regionName":"Märkischer Kreis","end":1737367200000,"description":"Es tritt leichter Frost zwischen -1 °C und -5 °C auf. In Tal- und Muldenlagen sinken die Temperaturen auf Werte bis -7 °C.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"NRW","altitudeStart":null,"altitudeEnd":null}],"915085002":[{"state":"Sachsen-Anhalt","type":5,"level":2,"start":1737306000000,"regionName":"Kreis Harz - Bergland (Oberharz)","end":1737367200000,"description":"Es tritt leichter Frost zwischen -1 °C und -4 °C auf. In Tal- und Muldenlagen sinken die Temperaturen auf Werte bis -6 °C.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"SA","altitudeStart":null,"altitudeEnd":null}],"915085001":[{"state":"Sachsen-Anhalt","type":5,"level":2,"start":1737306000000,"regionName":"Kreis Harz - Tiefland","end":1737367200000,"description":"Es tritt leichter Frost zwischen -1 °C und -4 °C auf. In Tal- und Muldenlagen sinken die Temperaturen auf Werte bis -6 °C.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"SA","altitudeStart":null,"altitudeEnd":null}],"108222000":[{"state":"Baden-Württemberg","type":5,"level":2,"start":1737306000000,"regionName":"Stadt Mannheim","end":1737367200000,"description":"Es tritt mäßiger Frost bis -6 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"BW","altitudeStart":null,"altitudeEnd":null}],"115087000":[{"state":"Sachsen-Anhalt","type":5,"level":2,"start":1737306000000,"regionName":"Kreis Mansfeld-Südharz","end":1737367200000,"description":"Es tritt leichter Frost zwischen -1 °C und -4 °C auf. In Tal- und Muldenlagen sinken die Temperaturen auf Werte bis -6 °C.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"SA","altitudeStart":null,"altitudeEnd":null}],"103356000":[{"state":"Niedersachsen","type":5,"level":2,"start":1737302400000,"regionName":"Kreis Osterholz","end":1737460800000,"description":"Es tritt leichter Frost zwischen 0 °C und -4 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"NS","altitudeStart":null,"altitudeEnd":null},{"state":"Niedersachsen","type":6,"level":2,"start":1737306000000,"regionName":"Kreis Osterholz","end":1737367200000,"description":"Es besteht vereinzelt Glättegefahr.","event":"GLÄTTE","headline":"Amtliche WARNUNG vor GLÄTTE","instruction":"Hinweis auf Rutschgefahr. \nHandlungsempfehlungen: \nVerhalten im Straßenverkehr anpassen","stateShort":"NS","altitudeStart":null,"altitudeEnd":null}],"115002000":[{"state":"Sachsen-Anhalt","type":5,"level":2,"start":1737306000000,"regionName":"Stadt Halle (Saale)","end":1737367200000,"description":"Es tritt leichter Frost zwischen -1 °C und -4 °C auf. In Tal- und Muldenlagen sinken die Temperaturen auf Werte bis -6 °C.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"SA","altitudeStart":null,"altitudeEnd":null}],"116068000":[{"state":"Thüringen","type":5,"level":2,"start":1737306000000,"regionName":"Kreis Sömmerda","end":1737367200000,"description":"Es tritt leichter Frost zwischen -1 °C und -4 °C auf. In Tal- und Muldenlagen sinken die Temperaturen auf Werte bis -6 °C.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"TH","altitudeStart":null,"altitudeEnd":null}],"101053000":[{"state":"Schleswig-Holstein","type":5,"level":2,"start":1737302400000,"regionName":"Kreis Herzogtum Lauenburg","end":1737460800000,"description":"Es tritt leichter Frost zwischen 0 °C und -4 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"SH","altitudeStart":null,"altitudeEnd":null}],"108435000":[{"state":"Baden-Württemberg","type":5,"level":2,"start":1737280800000,"regionName":"Bodenseekreis","end":1737306000000,"description":"Es tritt leichter Frost um -1 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"BW","altitudeStart":null,"altitudeEnd":null},{"state":"Baden-Württemberg","type":5,"level":2,"start":1737306000000,"regionName":"Bodenseekreis","end":1737367200000,"description":"Es tritt mäßiger Frost bis -6 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"BW","altitudeStart":null,"altitudeEnd":null}],"103355000":[{"state":"Niedersachsen","type":5,"level":2,"start":1737302400000,"regionName":"Kreis Lüneburg","end":1737460800000,"description":"Es tritt leichter Frost zwischen 0 °C und -4 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"NS","altitudeStart":null,"altitudeEnd":null}],"116067000":[{"state":"Thüringen","type":5,"level":2,"start":1737306000000,"regionName":"Kreis Gotha","end":1737367200000,"description":"Es tritt leichter Frost zwischen -1 °C und -4 °C auf. In Tal- und Muldenlagen sinken die Temperaturen auf Werte bis -6 °C.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"TH","altitudeStart":null,"altitudeEnd":null}],"108436000":[{"state":"Baden-Württemberg","type":5,"level":2,"start":1737280800000,"regionName":"Kreis Ravensburg","end":1737306000000,"description":"Es tritt leichter Frost um -1 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"BW","altitudeStart":null,"altitudeEnd":null},{"state":"Baden-Württemberg","type":5,"level":2,"start":1737306000000,"regionName":"Kreis Ravensburg","end":1737367200000,"description":"Es tritt mäßiger Frost bis -6 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"BW","altitudeStart":null,"altitudeEnd":null}],"106432000":[{"state":"Hessen","type":6,"level":2,"start":1737306000000,"regionName":"Kreis Darmstadt-Dieburg und Stadt Darmstadt","end":1737367200000,"description":"Es besteht vereinzelt Glättegefahr.","event":"GLÄTTE","headline":"Amtliche WARNUNG vor GLÄTTE","instruction":"Hinweis auf Rutschgefahr. \nHandlungsempfehlungen: \nVerhalten im Straßenverkehr anpassen","stateShort":"HE","altitudeStart":null,"altitudeEnd":null},{"state":"Hessen","type":5,"level":2,"start":1737306000000,"regionName":"Kreis Darmstadt-Dieburg und Stadt Darmstadt","end":1737367200000,"description":"Es tritt leichter Frost zwischen -1 °C und -5 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"HE","altitudeStart":null,"altitudeEnd":null}],"115088000":[{"state":"Sachsen-Anhalt","type":5,"level":2,"start":1737306000000,"regionName":"Saalekreis","end":1737367200000,"description":"Es tritt leichter Frost zwischen -1 °C und -4 °C auf. In Tal- und Muldenlagen sinken die Temperaturen auf Werte bis -6 °C.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"SA","altitudeStart":null,"altitudeEnd":null}],"103256000":[{"state":"Niedersachsen","type":5,"level":2,"start":1737302400000,"regionName":"Kreis Nienburg (Weser)","end":1737460800000,"description":"Es tritt leichter Frost zwischen 0 °C und -4 °C auf.","event":"FROST","headline":"Amtliche WARNUNG vor FROST","instruction":"Hinweis auf mögliche Frostschäden. \nHandlungsempfehlungen: \nggf. Frostschutzmaßnahmen ergreifen","stateShort":"NS","altitudeStart":null,"altitudeEnd":null},{"state":"Niedersachsen","type":6,"level":2,"start":1737306000000,"regionName":"Kreis Nienburg (Weser)","end":1737367200000,"description":"Es besteht vereinzelt Glättegefahr.","event":"GLÄTTE","headline":"Amtliche WARNUNG vor GLÄTTE","instruction":"Hinweis auf Rutschgefahr. \nHandlungsempfehlungen: \nVerhalten im Straßenverkehr anpassen","stateShort":"NS","altitudeStart":null,"altitudeEnd":null}],"vorabInformation":{},"copyright":"Copyright Deutscher Wetterdienst"});
 
Zuletzt bearbeitet von einem Moderator:
GC und FF sagen aber das ist kein JSON! Das ist auch kein legaler Begin für JSON: warnWetter.loadWarnings({
Möglicherweise, ist das einfach ein JavaScript-Modul/Objekt.
 
Welche Werkzeuge zum Extrahieren (ausser Java & Regex) darf man benutzen: Grep, Python & Panda,... ? Unabhängig von der JSON-Legalität der Datenquelle wird man wohl die Inhalte zwischen "103256000": und ""altitudeEnd":null" extrahieren. Schreiben könnte man auf Kommandozeile:
Code:
 ... > nienburg.txt
 
@Oneixee5
Hmm, irgendwie habe ich das schon vermutet, weil JSON eigentlich so nicht anfängt. Nur komischerweise wird das File vom DWD mit der .json-Endung publiziert. Leider verstehe ich überhaupt nichts von JASON, ebensowenig auch von JavaScript. Bin halt auch nicht mehr der Jüngste und in meinem Zeitalter gab es sowieso keine vernünftigen Computer etc.
 
@M.L.
Naja, Extrahierwerkzeuge ist auch schon wieder ziemlich Highendlevel für mich. Ich kann außer ein wenig PHP nix weiter. Zudem sollte das Auslesen (und Schreiben) natürlich automatisiert ablaufen. Wenn möglich on-the-fly, es ginge auch automatisiert Runterladen, PC-Abarbeitung und wieder auf HP hochladen.
 
Ich habe die Seite mal durchsucht und den Request gefunden. Es wird ein JavaScript-Object geladen. Das wäre an sich kein Problem. Einfach mit Node.js ein kleines Programm schreiben. Das ist aber keine offizielle Schnittstelle - diese sind Kostenpflichtig, soweit ich das überblicke. Es kann also sein, das der Betreiber da jederzeit etwas ändert.
 
@Oneixee5 und @M.L.
Hmm, ja okay. Hört sich alles gut und sinnvoll an. Aber es hilft mir als blutigen Anfänger nicht wirklich weiter. Ich habe Node.js mal angeschaut, aber es wird dadurch kein einziger Input bei mir erzeugt, eher noch mehr Fustration. Und den Request habe ich auch gefunden, doch damit alleine wird es auch nicht besser:

<script src="https://www.dwd.de/DWD/warnungen/warnapp_gemeinden/viewer/gemeinden.js?v=5"></script>
<script type="application/javascript">
//// WarnWetter App Config ////
// Base url for images, with trailing slash
warnWetter.setImageBaseUrl("https://www.dwd.de/DWD/warnungen/warnapp_gemeinden/viewer/img/");
// Set BL
warnWetter.setSelectedBL(parseBundeslandFromURL());
// Reload time, in milliseconds
var RELOAD_TIMEOUT = 120000;
// Is Gemeinde Warnungen
var GEMEINDE_WARNUNGEN = true;
warnWetter.setGemeindeWarnungen(GEMEINDE_WARNUNGEN)
//////
var timeoutId = null;
function loadJsonP(autoRefresh) {
var script = document.createElement('script');
var file = 'https://www.dwd.de/DWD/warnungen/warnapp_landkreise/json/warnings.json';
if (GEMEINDE_WARNUNGEN) {
file = 'https://www.dwd.de/DWD/warnungen/warnapp_gemeinden/json/warnings_gemeinde.json';
}
script.src = ""+ file + "?jsonp=loadWarnings" + new Date().getTime();
document.getElementsByTagName('head')[0].appendChild(script);
if (autoRefresh) {
timeoutId = setTimeout("loadJsonP(true)", RELOAD_TIMEOUT);
}
}
function handleRefreshClick(checkBox) {
if (timeoutId) {
clearTimeout(timeoutId);
}
if (checkBox.checked) {
loadJsonP(checkBox.checked);
}
}
function parseBundeslandFromURL() {
var sParam = location.search.substring(1);
if (sParam && sParam.length > 0) {
sParam = sParam.replace(/amp;/g,'');
var aKeyValue = sParam.split("&");
for (var i = 0, n = aKeyValue.length; i < n; i++) {
if (aKeyValue.indexOf('=') > 0) {
var aSingleKeyValue = aKeyValue.split('=');
if (aSingleKeyValue[0] && (aSingleKeyValue[0] == 'bundesland')) {
if (aSingleKeyValue[1] && (/all|baw|bay|bbb|hes|mvp|nib|nrw|rps|sac|saa|shh|thu/).test(aSingleKeyValue[1])) {
return aSingleKeyValue[1];
}
break;
}
}
}
}
return 'all';
}
loadJsonP(true);
</script>


In Einbindung in eine HTML-Datei passiert auf der Homepage rein garnichts. Keine Fehlerausgabe, kein irgend ein anderes Zeichen auf dem Bildschirm. Mit dem Script alleine komme ich also auch nicht weiter. 😕
 
Vielleicht nicht, da unter https://listed.to/@DieSieben/7851/api-des-deutschen-wetterdienstes auch Möglichkeiten (ohne Python als Standardwerkzeug zu nennen...) zum Auslesen der Daten angegeben werden. Die Abfrage für Nienburg könnte so aussehen: https://s3.eu-central-1.amazonaws.com/app-prod-static.warnwetter.de/v16/forecast_mosmix_E652.json
Die Daten kann man weiterverarbeiten, z.B. lokal als .txt speichern, mit JavaScript-Bibliotheken visualisieren,...
 
Fangen wir mal von vorne an, um ein XY-Problem auszuschließen: wofür genau benötigst Du diese Daten? Geht's nur darum, die Warnmeldungen auf einer Karte zu visualisieren? Willst Du die Daten speichern und ggf. weiterverarbeiten? Das ist insofern wichtig, als der DWD zig Schnittstellen anbietet, die aber für einen bestimmten Einsatzzweck mal mehr, mal weniger geeignet sind.

Um Deine Eingangs gestellte Frage aber unabhängig davon zu beantworten: wenn Du in Java (nicht JavaScript!) JSON verarbeiten möchtest, verwendest Du einen JSON Parser. Das kann ein Parser mit einer eigenen API sein, oder ein Parser, der sich an eine "standardisierte" API wie JSR-374 (Java API for JSON processing) hält. Auch hier kommt es wieder auf äußere Umstände an: ist das JSON verhältnismäßig klein, kannst Du die Datei problemlos komplett einlesen. Ansonsten brauchst Du eine Stream-Verarbeitung. Beim Einlesen erhältst Du einen Objektgraphen, durch den du navigieren kannst. In Deinem Fall könnte das unter Verwendung von JSR-374 dann etwa so aussehen:
Java:
try(JsonReader reader = Json.createReader(Files.newInputStream(Path.of("warnings.json")))) {
    JsonObject root = reader.readObject();
    JsonObject warnings = root.getJsonObject("warnings");
    JsonArray entries = warnings.getJsonArray("103256000");
    for (JsonValue value : entries) {
        JsonObject entry = (JsonObject) value;
        String description = entry.getString("description");
        System.out.println(description);
    }
}
 
Sie können node.js zum Lesen verwenden und die Daten in der JSON-Datei können sogar zum Anzeigen des JSON-Schemas mit dem Tool https://edgeone.ai/tools/json-to-schema verwendet werden.Beim Anzeigen der Struktur müssen Sie zunächst die äußeren „warnWetter.loadWarnings“ entfernen

Javascript:
const fs = require('fs');

fs.readFile('warnings.json', 'utf8', (err, data) => {
    if (err) {
        console.error('Fehler beim Lesen der Datei:', err);
        return;
    }

    try {
        const jsonData = JSON.parse(data);

        const regionCode = "103256000";
        const warnings = jsonData.warnings[regionCode] || [];

        const formattedWarnings = warnings.map(warning => {
            return (
                `Titel: ${warning.headline}\n` +
                `Beschreibung: ${warning.description}\n` +
                `Ereignis: ${warning.event}\n` +
                `Startzeit: ${new Date(warning.start).toLocaleString('de-DE')}\n` +
                `Endzeit: ${new Date(warning.end).toLocaleString('de-DE')}\n` +
                `Handlungsempfehlung: ${warning.instruction}\n` +
                '----------------------------------------\n'
            );
        }).join('');

        fs.writeFile('wetterwarnungen.txt', formattedWarnings, 'utf8', (err) => {
            if (err) {
                console.error('Fehler beim Schreiben der Datei:', err);
            } else {
                console.log('Wetterwarnungen wurden erfolgreich in wetterwarnungen.txt geschrieben.');
            }
        });
    } catch (err) {
        console.error('Fehler beim Parsen der JSON-Daten:', err);
    }
});
 
Auch wenn es schon fortgeschritten ist, ist JSON Path eine gute Option. Du kannst dafür zum Beispiel die Bibliothek https://github.com/json-path/JsonPath verwenden. Letztendlich läuft das Extrahieren und Schreiben auf einen Einzeiler hinaus:

Java:
Files.writeString( HIER_ZIEL_PATH_VON_TXT, JsonPath.read(HIER_JSON_STRING, "HIER JSON PATH").toString() );
 
@Ullenboom + alle Anderen
Vielen Dank für Eure Hilfe. Leider haben Eure Ideen bei mir nicht funktioniert. In der Zwischenzeit bin ich jedoch zum Ziel gelangt, indem ich [1.] den (extra mit Fehlern?) versehenen Code vom DWD um die zusätzlichen Zeichen am Anfng und am Ende per PHP-Script eingekürzt habe, sodass erst einmal ein zum Auslesen per "json_decode" funktionierender Code vorliegt. Und [2.] siehe da, mit dieser korrigierten json-Datei lassen sich nun die betreffenden Wetterwarnungen auslesen -- falls denn welche, die meinen Landkreis betreffen, vorliegen.
 

Zurück
Oben