Page 1 of 1

Json Datei parsen

Posted: 25 Apr 2019, 16:31
by KHA
Guten Abend in die Runde,
habe eine json Datei die ist wie folgt aufgebaut (siehe Array).
Mit einer For-Schleife wird mir nur der erste Teil extrahiert
MsgBox:
a 1
b 2
c 3

Hätte das der MsgBox mir alle keys und values anzeigt, auch die, die sich im zweiten eckigen klammern befinden
a 1
b 2
c 3
a 4
b 5
c 6

Für Hilfe und Tipps wäre ich dankbar.

Code: Select all

Array := {"a":1,"b":2,"c":3}, {"a":4,"b":5,"c":6}

Output := ""
for k, v in Array
{
	Output .= k "`t" v "`r`n"
}
MsgBox, % Output
return

Re: Json Datei parsen

Posted: 25 Apr 2019, 16:46
by wolf_II
Try this: (Arrays is only loosely based on your original, and not a valid JSON-format)

Code: Select all

Arrays := [{"a":1,"b":2,"c":3}, {"a":4,"b":5,"c":6}]

Output := ""
for each, Array in Arrays
    for k, v in Array
        Output .= k "`t" v "`r`n"
MsgBox, % Output
return
I hope that helps.

Re: Json Datei parsen

Posted: 25 Apr 2019, 17:38
by KHA
Thanks for answering.
With test File is works. But not with Original File. There it is shown to me only 1 2 3 4 ....
idea why this could be ?

Re: Json Datei parsen

Posted: 25 Apr 2019, 17:44
by wolf_II
Dein original Array ist keine kompatible AHK-syntax. Im original wird die zweite Hälfte (alles nach dem Komma) von AHK ignoriert.

Re: Json Datei parsen

Posted: 26 Apr 2019, 01:28
by KHA
Wieso funktioniert es dann mit:

Code: Select all

Arrays := [{"a":1,"b":2,"c":3}, {"a":4,"b":5,"c":6}]
der Unterschied ist doch die Eckigen klammen [ ] , das habe ich ergänzt.

Re: Json Datei parsen

Posted: 26 Apr 2019, 02:07
by just me
Moin,

ein JSON-"Objekt" ist kein AHK-Objekt/Array. Für AHK ist es nur eine Zeichenkette (string).

Wenn es JSON ist, solltest Du Dir das mal ansehen: JSON 2.0 (and Jxon) - JSON lib for AutoHotkey.

Wenn Du willst, dass wir Dir helfen, musst Du Beispieldaten liefern, deren Aufbau dem Original entspricht. Ansonsten wird das hier ein 'sinnloses Rätselraten'.