NEWS
[gelöst] JSON - Werte von arrays ändern ?
-
Tag,
ich habe eine recht grosse JSON welche mit einigen hundert Arrays befüllt ist.
Bestimmte Arrays möchte ich zur Weiterverarbeitung anpassen.Ausgangssituation:
{ "value": 62562, "text": "Asterix & Obelix gegen Caesar", "icon": "/library/metadata/62562/thumb/1660379273", "year": 1999, "views": 13 }, { "value": 62544, "text": "Asterix - Operation Hinkelstein", "icon": "/library/metadata/62544/thumb/1660379264", "year": 1989, "views": 0 },Nun würde ich gerne alle Werte von "icon" folgend abändern:
{ "value": 62562, "text": "Asterix & Obelix gegen Caesar", "icon": "1234/library/metadata/62562/thumb/1660379273ABCD", "year": 1999, "views": 13 }, { "value": 62544, "text": "Asterix - Operation Hinkelstein", "icon": "1234/library/metadata/62544/thumb/1660379264ABCD", "year": 1989, "views": 0 },quasi jeweils ein "1234" vorne dran und ein "ABCD" hinten dran.
Mir fehlt der Ansatz.
Vll kann jemand helfen ?Danke
-
Tag,
ich habe eine recht grosse JSON welche mit einigen hundert Arrays befüllt ist.
Bestimmte Arrays möchte ich zur Weiterverarbeitung anpassen.Ausgangssituation:
{ "value": 62562, "text": "Asterix & Obelix gegen Caesar", "icon": "/library/metadata/62562/thumb/1660379273", "year": 1999, "views": 13 }, { "value": 62544, "text": "Asterix - Operation Hinkelstein", "icon": "/library/metadata/62544/thumb/1660379264", "year": 1989, "views": 0 },Nun würde ich gerne alle Werte von "icon" folgend abändern:
{ "value": 62562, "text": "Asterix & Obelix gegen Caesar", "icon": "1234/library/metadata/62562/thumb/1660379273ABCD", "year": 1999, "views": 13 }, { "value": 62544, "text": "Asterix - Operation Hinkelstein", "icon": "1234/library/metadata/62544/thumb/1660379264ABCD", "year": 1989, "views": 0 },quasi jeweils ein "1234" vorne dran und ein "ABCD" hinten dran.
Mir fehlt der Ansatz.
Vll kann jemand helfen ?Danke
@djmarc75 sagte in JSON - Werte von arrays ändern ?:
Wahrscheinlich geht es einfacher, aber auf die Schnelle würde ich es so machen:
$.{ "value": value, "text": text, "icon": "1234" & icon & "ABCD", "year": year, "views": views } -
Tag,
ich habe eine recht grosse JSON welche mit einigen hundert Arrays befüllt ist.
Bestimmte Arrays möchte ich zur Weiterverarbeitung anpassen.Ausgangssituation:
{ "value": 62562, "text": "Asterix & Obelix gegen Caesar", "icon": "/library/metadata/62562/thumb/1660379273", "year": 1999, "views": 13 }, { "value": 62544, "text": "Asterix - Operation Hinkelstein", "icon": "/library/metadata/62544/thumb/1660379264", "year": 1989, "views": 0 },Nun würde ich gerne alle Werte von "icon" folgend abändern:
{ "value": 62562, "text": "Asterix & Obelix gegen Caesar", "icon": "1234/library/metadata/62562/thumb/1660379273ABCD", "year": 1999, "views": 13 }, { "value": 62544, "text": "Asterix - Operation Hinkelstein", "icon": "1234/library/metadata/62544/thumb/1660379264ABCD", "year": 1989, "views": 0 },quasi jeweils ein "1234" vorne dran und ein "ABCD" hinten dran.
Mir fehlt der Ansatz.
Vll kann jemand helfen ?Danke
-
@djmarc75 sagte: mit einigen hundert Arrays befüllt
Eindimensional oder mehrdimensional? Ich sehe keine Array-Struktur.
Ausreichend RAM ist vorhanden? -
@mickym sagte in JSON - Werte von arrays ändern ?:
$.{ "value": value, "text": text, "icon": "1234" & icon & "ABCD", "year": year, "views": views }
@DJMarc75 Aber kannst Du machen wie Du willst. Ich nutze halt JSONATA - da es in der NodeRed Welt sehr praktisch ist. ;)
-
@paul53 sagte in JSON - Werte von arrays ändern ?:
Eindimensional oder mehrdimensional? Ich sehe keine Array-Struktur.
Ausreichend RAM ist vorhanden?Eindimensional und knapp 5GB RAM von 8 verfügbar.
-
@paul53 sagte in JSON - Werte von arrays ändern ?:
Also meinst Du ein Array mit vielen Objekten wie gezeigt?
Ja, falsch ausgedrückt

@mickym sagte in JSON - Werte von arrays ändern ?:
Ich nutze halt JSONATA
Ich setze das jetzt mal so um... momentle
-
@mickym sagte in JSON - Werte von arrays ändern ?:
$.{ "value": value, "text": text, "icon": "1234" & icon & "ABCD", "year": year, "views": views }
@DJMarc75 Aber kannst Du machen wie Du willst. Ich nutze halt JSONATA - da es in der NodeRed Welt sehr praktisch ist. ;)
-
@mickym sagte in JSON - Werte von arrays ändern ?:
$.{ "value": value, "text": text, "icon": "1234" & icon & "ABCD", "year": year, "views": views }Läuft:

musste nur JSONATA anpassen da die Quelldatei andere Werte liefert.
@djmarc75 Hat das einen Grund, warum Du das Ergebnis in Quellliste speicherst und nicht gleich direkt als Input verwendest - die Abfrage ist doch eh lokal? Oder mit anderen Worten kann man den "result" der Abfrage nicht gleich in ein Objekt umwandeln?
-
@djmarc75 Hat das einen Grund, warum Du das Ergebnis in Quellliste speicherst und nicht gleich direkt als Input verwendest - die Abfrage ist doch eh lokal? Oder mit anderen Worten kann man den "result" der Abfrage nicht gleich in ein Objekt umwandeln?
-
@djmarc75 Hat das einen Grund, warum Du das Ergebnis in Quellliste speicherst und nicht gleich direkt als Input verwendest - die Abfrage ist doch eh lokal? Oder mit anderen Worten kann man den "result" der Abfrage nicht gleich in ein Objekt umwandeln?
-
@djmarc75 Geht auch ohne split und join, wenn Du den gleichen Ausdruck verwendest. ;)

Dis JSON-Node brauchst und die iobroker-Out Node auch. ;)
Ich gehe auch davon aus, dass Du die von der http-request Node ein Objekt ausgeben lässt.
-
@djmarc75 Geht auch ohne split und join, wenn Du den gleichen Ausdruck verwendest. ;)

Dis JSON-Node brauchst und die iobroker-Out Node auch. ;)
Ich gehe auch davon aus, dass Du die von der http-request Node ein Objekt ausgeben lässt.
@mickym sagte in [gelöst] JSON - Werte von arrays ändern ?:
wenn Du den gleichen Ausdruck verwendest.
eben nicht, deshalb ja die beiden Nodes:

@mickym sagte in [gelöst] JSON - Werte von arrays ändern ?:
ttp-request Node ein Objekt ausgeben lässt

-
@mickym sagte in [gelöst] JSON - Werte von arrays ändern ?:
wenn Du den gleichen Ausdruck verwendest.
eben nicht, deshalb ja die beiden Nodes:

@mickym sagte in [gelöst] JSON - Werte von arrays ändern ?:
ttp-request Node ein Objekt ausgeben lässt

@djmarc75 Lass mal das payload weg ;) Der Punkt nach der payload also

spaltet bereits das ganze Array in einzelne Objekte auf und da Du quasi schon im Objektkontext bist, darfst Du nicht mehr auf die payload referenzieren. Am Besten schaust Du Dir das in dem JSONATA try Teil an.
Der Punkt ist ein sogenannter Path Operator. ;)

-
@djmarc75 Lass mal das payload weg ;) Der Punkt nach der payload also

spaltet bereits das ganze Array in einzelne Objekte auf und da Du quasi schon im Objektkontext bist, darfst Du nicht mehr auf die payload referenzieren. Am Besten schaust Du Dir das in dem JSONATA try Teil an.
Der Punkt ist ein sogenannter Path Operator. ;)

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



