[erledigt][HTTPDMOD] Regex Probleme - Wert vor Match - Json

Begonnen von andi11, 22 Oktober 2020, 16:51:44

Vorheriges Thema - Nächstes Thema

andi11

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?


StefanStrobel

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

andi11

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/
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.

StefanStrobel

wie wäre es mit

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


Gruss
    Stefan


andi11

vielen Dank, ich probier sehr viel und mag die Online Test von regex aber da bin ich voll gescheitert!