NEWS
[gelöst] Json mit Variable in Datenpunkt schreiben
-
Hallo,
ich habe gerade Probleme einen Datenpunkt mit einem Json zu füllen.
Bisher habe ich die Bezeichner fix als String eingegeben, das funktioniert problemlos:
var date1 = new Date().toLocaleString('de-DE', { day:'2-digit', month: '2-digit', year: 'numeric' }); var jsonstring = ({ "Aktuelles Datum" : date1 }); setState(id, JSON.stringify(jsonstring));
Wenn ich aber ein variables Datum als Bezeichner verwenden möchte, geht das nicht,
es wird einfach "date1" in den Json geschrieben und nicht das Datum !var jsonstring = ({ date1 : value }); setState(id, JSON.stringify(jsonstring));
Hat jemand eine Idee was ich falsch mache?
Vielen Dank
-
@ralf-8 sagte: nicht das Datum !
value
enthält das Datum?
Was du alsjsonstring
bezeichnest, ist ein Objekt, wenn man die runden Klammern weglässt! -
Die Klammer
(
{blabla...})
muss weg. -
@ticaki
danke, aber es funktioniert leider auch ohne Klammer nicht.
date1 vorne wird einfach als string interpretiert und nicht als variable,
date1 hinten ergibt tatsächlich das Datum, die zweite Zeile steht nur zur Kontrolle da.
(value ist ein x-beliebiger Wert, hier nicht wichtig)var date1 = new Date().toLocaleString('de-DE', { day:'2-digit', month: '2-digit', year: 'numeric' });
var jsonstring = { date1 : value }; setState('0_userdata.0.Zaehlerstand.0',jsonstring);
Der Datenpunkt erhält dann diesen Json:
{"date1":value}gewünscht ist aber
{"22.03.2025":value} -
@ralf-8 sagte: {"22.03.2025":value}
Dann muss man eckige Klammern verwenden.
const date = new Date().toLocaleString('de-DE', { day:'2-digit', month: '2-digit', year: 'numeric' }); const obj = { [date]: 1234 }; log(JSON.stringify(obj));
Log:
{"22.03.2025":1234}
-
@paul53
Vielen Dank, das war die Lösung. Da wäre ich nie drauf gekommen -
@ralf-8 sagte in [gelöst] Json mit Variable in Datenpunkt schreiben:
@ticaki
danke, aber es funktioniert leider auch ohne Klammer nicht.sry hatte nicht richtig gelesen, bin gerade mir Kontaktlinsen am angewöhnen