FHEM Forum

FHEM => Sonstiges => Thema gestartet von: andi11 am 22 Oktober 2020, 16:51:44

Titel: [erledigt][HTTPDMOD] Regex Probleme - Wert vor Match - Json
Beitrag von: andi11 am 22 Oktober 2020, 16:51:44
Ich habe folgende Datenquelle (die ich nicht als Json auswerten will, da ich nicht alle Readings will)
Ausschnitt:
  "lkr_373":{"id":"lkr_373","anzahl":"676","inzidenz":502.33,"inzidenz7Tage":49.79,"tote":"17","landkreis":"Neumarkt i.d.Opf."},"lkr_575":{"id":"lkr_575","anzahl":"333","inzidenz":329.66,"inzidenz7Tage":23.76,"tote":"6","landkreis":"Neustadt a.d. Aisch-Bad Windsheim"},"lkr_374":{"id":"lkr_374","anzahl":"1074","inzidenz":1137.11,"inzidenz7Tage":104.82,"tote":"75","landkreis":"Neustadt a.d. Waldnaab"},"lkr_564":{"id":"lkr_564","anzahl":"2793","inzidenz":538.8,"inzidenz7Tage":67.71,"tote":"55","landkreis":"N\u00fcrnberg Stadt"},"lkr_574":{"id":"lkr_574","anzahl":"926","inzidenz":542.18,"inzidenz7Tage":38.06,"tote":"44","landkreis":"N\u00fcrnberger Land"},
Wie muss mein Regex aussehen, wenn ich z.b. den inzidenz7Tage vom Nürnberger Land haben will?

Mein momentaner Stand ist:
.*var values = {.*"id":"lkr_574",(.*?)}
Aber:
Wie komm ich zum inzidenz7Tage Wert?
Es wäre natürlich schöner nach "Nürnberger Land" zu suchen und nicht nach lkr_574.Wie ginge das?

Titel: Antw:[HTTPDMOD] Regex Probleme - Wert vor Match - Json
Beitrag von: StefanStrobel am 22 Oktober 2020, 17:01:11
Hallo,

auch beim JSON-Parsing mit HTTPMOD muss man nicht alle Readings automatisch erzeugen.
Siehe https://wiki.fhem.de/wiki/HTTPMOD#Parsing_JSON

Gruss
   Stefan
Titel: Antw:[HTTPDMOD] Regex Probleme - Wert vor Match - Json
Beitrag von: andi11 am 22 Oktober 2020, 17:04:36
danke für den Hinweis.
Meine Beschreibung war wohl einfach schlecht, sorry.
Quellseite ist eine HTML Seite, diese enthält neben jede Menge HTML Code eben auch diese Json Daten.
https://www.lgl.bayern.de/gesundheit/infektionsschutz/infektionskrankheiten_a_z/coronavirus/karte_coronavirus/ (https://www.lgl.bayern.de/gesundheit/infektionsschutz/infektionskrankheiten_a_z/coronavirus/karte_coronavirus/)
var values =
damit findet man die Daten die ich verwenden will. Und da gibt es jeden Wert in einem Array mit einem Eintrag für jeden Landkreis.
Titel: Antw:[HTTPDMOD] Regex Probleme - Wert vor Match - Json
Beitrag von: StefanStrobel am 22 Oktober 2020, 17:12:46
wie wäre es mit

{.*"id":"lkr_574",[^\}]+inzidenz7Tage":([\d\.]+).*}


Gruss
    Stefan

Titel: Antw:[HTTPDMOD] Regex Probleme - Wert vor Match - Json
Beitrag von: andi11 am 22 Oktober 2020, 17:18:30
vielen Dank, ich probier sehr viel und mag die Online Test von regex aber da bin ich voll gescheitert!