NEWS
JSON in taugliches E-Charts umwandeln
-
Kann mir jemand erklären, oder zeigen, wie ich dieses JSON-Format:
[ { "from": "2023-11-01T00:00:00.000+01:00", "to": "2023-12-01T00:00:00.000+01:00", "cost": 165.1500357416, "unitPrice": 0.24995, "unitPriceVAT": 0.039908, "consumption": 660.731, "consumptionUnit": "kWh", "currency": "EUR" }, { "from": "2023-12-01T00:00:00.000+01:00", "to": "2024-01-01T00:00:00.000+01:00", "cost": 218.4211066317, "unitPrice": 0.21144, "unitPriceVAT": 0.033759, "consumption": 1033.019, "consumptionUnit": "kWh", "currency": "EUR" }, { "from": "2024-01-01T00:00:00.000+01:00", "to": "2024-02-01T00:00:00.000+01:00", "cost": 253.5435962045, "unitPrice": 0.239839, "unitPriceVAT": 0.038294, "consumption": 1057.139, "consumptionUnit": "kWh", "currency": "EUR" }, { "from": "2024-02-01T00:00:00.000+01:00", "to": "2024-03-01T00:00:00.000+01:00", "cost": 152.2786025299, "unitPrice": 0.218416, "unitPriceVAT": 0.034873, "consumption": 697.194, "consumptionUnit": "kWh", "currency": "EUR" }, { "from": "2024-03-01T00:00:00.000+01:00", "to": "2024-04-01T00:00:00.000+02:00", "cost": 129.0548423584, "unitPrice": 0.231925, "unitPriceVAT": 0.03703, "consumption": 556.45, "consumptionUnit": "kWh", "currency": "EUR" }, { "from": "2024-04-01T00:00:00.000+02:00", "to": "2024-05-01T00:00:00.000+02:00", "cost": 103.0426810056, "unitPrice": 0.234781, "unitPriceVAT": 0.037486, "consumption": 438.888, "consumptionUnit": "kWh", "currency": "EUR" }, { "from": "2024-05-01T00:00:00.000+02:00", "to": "2024-06-01T00:00:00.000+02:00", "cost": 56.86217579, "unitPrice": 0.238555, "unitPriceVAT": 0.038089, "consumption": 238.361, "consumptionUnit": "kWh", "currency": "EUR" }, { "from": "2024-06-01T00:00:00.000+02:00", "to": "2024-07-01T00:00:00.000+02:00", "cost": 65.8974361801, "unitPrice": 0.24466, "unitPriceVAT": 0.039063, "consumption": 269.343, "consumptionUnit": "kWh", "currency": "EUR" }, { "from": "2024-07-01T00:00:00.000+02:00", "to": "2024-08-01T00:00:00.000+02:00", "cost": 56.0706386387, "unitPrice": 0.235564, "unitPriceVAT": 0.037611, "consumption": 238.027, "consumptionUnit": "kWh", "currency": "EUR" }, { "from": "2024-08-01T00:00:00.000+02:00", "to": "2024-09-01T00:00:00.000+02:00", "cost": 61.7315118714, "unitPrice": 0.245993, "unitPriceVAT": 0.039276, "consumption": 250.948, "consumptionUnit": "kWh", "currency": "EUR" } ]in dieses JSON Format:
[ {"ts": 1675887847000, "val": 45}, {"ts": 1675887848000, "val": 77}, {"ts": 1675887849000, "val": 180} ]umwandeln kann?
Hintergrund:
ich möchte meine Tibber/Stromkosten als Balkendiagramm in E-Charts darstellen.Im Besten Fall, schaffe ich es die Monate der letzten Jahre nebeneinander darzustellen um einen vergleich zu erhalten.
Besten Dank im Voraus.
-
Kann mir jemand erklären, oder zeigen, wie ich dieses JSON-Format:
[ { "from": "2023-11-01T00:00:00.000+01:00", "to": "2023-12-01T00:00:00.000+01:00", "cost": 165.1500357416, "unitPrice": 0.24995, "unitPriceVAT": 0.039908, "consumption": 660.731, "consumptionUnit": "kWh", "currency": "EUR" }, { "from": "2023-12-01T00:00:00.000+01:00", "to": "2024-01-01T00:00:00.000+01:00", "cost": 218.4211066317, "unitPrice": 0.21144, "unitPriceVAT": 0.033759, "consumption": 1033.019, "consumptionUnit": "kWh", "currency": "EUR" }, { "from": "2024-01-01T00:00:00.000+01:00", "to": "2024-02-01T00:00:00.000+01:00", "cost": 253.5435962045, "unitPrice": 0.239839, "unitPriceVAT": 0.038294, "consumption": 1057.139, "consumptionUnit": "kWh", "currency": "EUR" }, { "from": "2024-02-01T00:00:00.000+01:00", "to": "2024-03-01T00:00:00.000+01:00", "cost": 152.2786025299, "unitPrice": 0.218416, "unitPriceVAT": 0.034873, "consumption": 697.194, "consumptionUnit": "kWh", "currency": "EUR" }, { "from": "2024-03-01T00:00:00.000+01:00", "to": "2024-04-01T00:00:00.000+02:00", "cost": 129.0548423584, "unitPrice": 0.231925, "unitPriceVAT": 0.03703, "consumption": 556.45, "consumptionUnit": "kWh", "currency": "EUR" }, { "from": "2024-04-01T00:00:00.000+02:00", "to": "2024-05-01T00:00:00.000+02:00", "cost": 103.0426810056, "unitPrice": 0.234781, "unitPriceVAT": 0.037486, "consumption": 438.888, "consumptionUnit": "kWh", "currency": "EUR" }, { "from": "2024-05-01T00:00:00.000+02:00", "to": "2024-06-01T00:00:00.000+02:00", "cost": 56.86217579, "unitPrice": 0.238555, "unitPriceVAT": 0.038089, "consumption": 238.361, "consumptionUnit": "kWh", "currency": "EUR" }, { "from": "2024-06-01T00:00:00.000+02:00", "to": "2024-07-01T00:00:00.000+02:00", "cost": 65.8974361801, "unitPrice": 0.24466, "unitPriceVAT": 0.039063, "consumption": 269.343, "consumptionUnit": "kWh", "currency": "EUR" }, { "from": "2024-07-01T00:00:00.000+02:00", "to": "2024-08-01T00:00:00.000+02:00", "cost": 56.0706386387, "unitPrice": 0.235564, "unitPriceVAT": 0.037611, "consumption": 238.027, "consumptionUnit": "kWh", "currency": "EUR" }, { "from": "2024-08-01T00:00:00.000+02:00", "to": "2024-09-01T00:00:00.000+02:00", "cost": 61.7315118714, "unitPrice": 0.245993, "unitPriceVAT": 0.039276, "consumption": 250.948, "consumptionUnit": "kWh", "currency": "EUR" } ]in dieses JSON Format:
[ {"ts": 1675887847000, "val": 45}, {"ts": 1675887848000, "val": 77}, {"ts": 1675887849000, "val": 180} ]umwandeln kann?
Hintergrund:
ich möchte meine Tibber/Stromkosten als Balkendiagramm in E-Charts darstellen.Im Besten Fall, schaffe ich es die Monate der letzten Jahre nebeneinander darzustellen um einen vergleich zu erhalten.
Besten Dank im Voraus.
@maas-meister sagte: in dieses JSON Format umwandeln kann?
Versuche es mal so:
// IDs eintragen const idSrc = ''; const idDst = ''; on(idSrc, function(dp) { const src = JSON.parse(dp.state.val); const dst = []; for(let i = 0; i < src.length; i++) { const obj = { ts: new Date(src[i].from).getTime(), val: Math.round(src[i].cost) }; dst.push(obj); }; setState(idDst, JSON.stringify(dst), true); }); -
Sowas macht man viel einfacher mit JSONATA.
$.{"ts": $toMillis(from),"val":$round(cost)}Hier zum Probieren: https://try.jsonata.org/jGIQQKIcU
Hier JSONATA in JS:
const obj = JSON.parse('[{"from":"2023-11-01T00:00:00.000+01:00","to":"2023-12-01T00:00:00.000+01:00","cost":165.1500357416,"unitPrice":0.24995,"unitPriceVAT":0.039908,"consumption":660.731,"consumptionUnit":"kWh","currency":"EUR"},{"from":"2023-12-01T00:00:00.000+01:00","to":"2024-01-01T00:00:00.000+01:00","cost":218.4211066317,"unitPrice":0.21144,"unitPriceVAT":0.033759,"consumption":1033.019,"consumptionUnit":"kWh","currency":"EUR"},{"from":"2024-01-01T00:00:00.000+01:00","to":"2024-02-01T00:00:00.000+01:00","cost":253.5435962045,"unitPrice":0.239839,"unitPriceVAT":0.038294,"consumption":1057.139,"consumptionUnit":"kWh","currency":"EUR"},{"from":"2024-02-01T00:00:00.000+01:00","to":"2024-03-01T00:00:00.000+01:00","cost":152.2786025299,"unitPrice":0.218416,"unitPriceVAT":0.034873,"consumption":697.194,"consumptionUnit":"kWh","currency":"EUR"},{"from":"2024-03-01T00:00:00.000+01:00","to":"2024-04-01T00:00:00.000+02:00","cost":129.0548423584,"unitPrice":0.231925,"unitPriceVAT":0.03703,"consumption":556.45,"consumptionUnit":"kWh","currency":"EUR"},{"from":"2024-04-01T00:00:00.000+02:00","to":"2024-05-01T00:00:00.000+02:00","cost":103.0426810056,"unitPrice":0.234781,"unitPriceVAT":0.037486,"consumption":438.888,"consumptionUnit":"kWh","currency":"EUR"},{"from":"2024-05-01T00:00:00.000+02:00","to":"2024-06-01T00:00:00.000+02:00","cost":56.86217579,"unitPrice":0.238555,"unitPriceVAT":0.038089,"consumption":238.361,"consumptionUnit":"kWh","currency":"EUR"},{"from":"2024-06-01T00:00:00.000+02:00","to":"2024-07-01T00:00:00.000+02:00","cost":65.8974361801,"unitPrice":0.24466,"unitPriceVAT":0.039063,"consumption":269.343,"consumptionUnit":"kWh","currency":"EUR"},{"from":"2024-07-01T00:00:00.000+02:00","to":"2024-08-01T00:00:00.000+02:00","cost":56.0706386387,"unitPrice":0.235564,"unitPriceVAT":0.037611,"consumption":238.027,"consumptionUnit":"kWh","currency":"EUR"},{"from":"2024-08-01T00:00:00.000+02:00","to":"2024-09-01T00:00:00.000+02:00","cost":61.7315118714,"unitPrice":0.245993,"unitPriceVAT":0.039276,"consumption":250.948,"consumptionUnit":"kWh","currency":"EUR"}]') console.log (await jsonataExpression(obj,'$.{"ts": $toMillis(from),"val":$round(cost)}'))
oder wenn Du lieber Puzzeln willst:

Hier der Import:
-
Sowas macht man viel einfacher mit JSONATA.
$.{"ts": $toMillis(from),"val":$round(cost)}Hier zum Probieren: https://try.jsonata.org/jGIQQKIcU
Hier JSONATA in JS:
const obj = JSON.parse('[{"from":"2023-11-01T00:00:00.000+01:00","to":"2023-12-01T00:00:00.000+01:00","cost":165.1500357416,"unitPrice":0.24995,"unitPriceVAT":0.039908,"consumption":660.731,"consumptionUnit":"kWh","currency":"EUR"},{"from":"2023-12-01T00:00:00.000+01:00","to":"2024-01-01T00:00:00.000+01:00","cost":218.4211066317,"unitPrice":0.21144,"unitPriceVAT":0.033759,"consumption":1033.019,"consumptionUnit":"kWh","currency":"EUR"},{"from":"2024-01-01T00:00:00.000+01:00","to":"2024-02-01T00:00:00.000+01:00","cost":253.5435962045,"unitPrice":0.239839,"unitPriceVAT":0.038294,"consumption":1057.139,"consumptionUnit":"kWh","currency":"EUR"},{"from":"2024-02-01T00:00:00.000+01:00","to":"2024-03-01T00:00:00.000+01:00","cost":152.2786025299,"unitPrice":0.218416,"unitPriceVAT":0.034873,"consumption":697.194,"consumptionUnit":"kWh","currency":"EUR"},{"from":"2024-03-01T00:00:00.000+01:00","to":"2024-04-01T00:00:00.000+02:00","cost":129.0548423584,"unitPrice":0.231925,"unitPriceVAT":0.03703,"consumption":556.45,"consumptionUnit":"kWh","currency":"EUR"},{"from":"2024-04-01T00:00:00.000+02:00","to":"2024-05-01T00:00:00.000+02:00","cost":103.0426810056,"unitPrice":0.234781,"unitPriceVAT":0.037486,"consumption":438.888,"consumptionUnit":"kWh","currency":"EUR"},{"from":"2024-05-01T00:00:00.000+02:00","to":"2024-06-01T00:00:00.000+02:00","cost":56.86217579,"unitPrice":0.238555,"unitPriceVAT":0.038089,"consumption":238.361,"consumptionUnit":"kWh","currency":"EUR"},{"from":"2024-06-01T00:00:00.000+02:00","to":"2024-07-01T00:00:00.000+02:00","cost":65.8974361801,"unitPrice":0.24466,"unitPriceVAT":0.039063,"consumption":269.343,"consumptionUnit":"kWh","currency":"EUR"},{"from":"2024-07-01T00:00:00.000+02:00","to":"2024-08-01T00:00:00.000+02:00","cost":56.0706386387,"unitPrice":0.235564,"unitPriceVAT":0.037611,"consumption":238.027,"consumptionUnit":"kWh","currency":"EUR"},{"from":"2024-08-01T00:00:00.000+02:00","to":"2024-09-01T00:00:00.000+02:00","cost":61.7315118714,"unitPrice":0.245993,"unitPriceVAT":0.039276,"consumption":250.948,"consumptionUnit":"kWh","currency":"EUR"}]') console.log (await jsonataExpression(obj,'$.{"ts": $toMillis(from),"val":$round(cost)}'))
oder wenn Du lieber Puzzeln willst:

Hier der Import:
Mega, genau das habe ich gesucht.
Funktionierte auf Anhieb - baue ich mir jetzt nach meinen wünschen zusammen.Besten Dank :-)
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden