Daten aus JSON einlesen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Datenkommunikation (/Forum-Datenkommunikation) +---- Thema: Daten aus JSON einlesen (/Thread-Daten-aus-JSON-einlesen) |
Daten aus JSON einlesen - seni austria - 23.01.2023 10:03 Ich habe ein kleines Verständnis Problem mit diesen JSON Datensatz { "success": 1, "data": [ ["0x0000000000000000",0,0], ["0x0000000000000000",0,0], ... ] } 1. Objekt = Numeric mit Namen "success" 2. Objekt = Array mit Namen "data" --> Inhalt von "data" ein Array mit 'String, Num, Num' --> ist nicht möglich (verschiedene Datentypen in einem Array) !! Was habe ich da falsch verstanden ? Wie kann ich den Datensatz mit LabVIEW 'aus JASON zurückkonvertieren' zerlegen? Danke für eure Hilfe. Wolfgang RE: Daten aus JSON einlesen - GerdW - 23.01.2023 10:18 Hallo seni, laut https://jsonformatter.org/ ist dein JSON-Beispiel fehlerhaft. Kannst du mal ein korrektes Beispiel beifügen? RE: Daten aus JSON einlesen - seni austria - 23.01.2023 10:41 Auszug aus der Schnittstellenbeschreibung.. ------------------------------------------------------------------- 7.2.8 get_diagnose_data Returniert den kompletten Diagnosespeicher. Befehl: { "cmd": "get_diagnose_data" }\n Antwort: {"success": 1, "data": [ ["0x0000000000000000",0,0], ["0x0000000000000000",0,0], ... ] }\n data: Array von Ereignissen. Ein Ereignis setzt sich aus folgenden drei Werten zusammen: 0: Zeitstempel (Betriebszähler in Millisekunden) als Hexadezimalzahl formatierter String. 1: Ereignis (Zahl) 2: Zusatzinformation abhängig vom Ereignis ---------------------------------------------------------------------- Die Daten kommen so von der Schnittstelle: {"success":true,"data":[["0x0000000000000000",0,0],["0x0000000000000000",0,0],["0x0000000000000000",0,0],["0x000000000067db88",109,440],["0x000000000067dba8",208,0],["0x000000000067dba8",203,12],["0x000000000067dbac",203,5],["0x000000000067dd1c",301,0],["0x000000000067dd1c",203,1],["0x000000000067e07e",203,14],["0x000000000067e07e",203,3],["0x000000000067e196",201,0],["0x000000000067e198",203,4],["0x000000000067e198",204,1],["0x000000000067e19c",203,5],["0x0000000000682ca2",110,4114],["0x00000000006860e0",209,0],["0x00000000006860e0",202,0],["0x00000000006860e0",203,13],["0x000000000068622a",201,0],["0x0000000000686230",203,4],["0x0000000000686230",204,1],["0x0000000000686234",203,5],["0x0000000000686298",301,0],["0x0000000000686298",203,1],["0x00000000006865f8",203,14],["0x00000000006865f8",203,15]]} Da ich die Kommunikation zum Controller nicht ändern kann, muss ich die Daten wohl mit den String-Funktionen von LabVIEW zerlegen... Danke für Deine Hilfe RE: Daten aus JSON einlesen - TpunktN - 23.01.2023 11:09 (23.01.2023 10:03 )seni austria schrieb: --> Inhalt von "data" ein Array mit 'String, Num, Num' --> ist nicht möglich (verschiedene Datentypen in einem Array) !! Ein Array of Cluster sollte das Problem lösen. Edit: Hab das mal versucht, dabei kommt der Fehler "LabVIEW: (Hex 0xFFFA4720) The array has an invalid number of dimensions." Ich kenne mich nciht mit JSON aus, aber das ist doch ein 1D Array, oder? MfG Timo RE: Daten aus JSON einlesen - jg - 23.01.2023 13:40 Hallo Wolfgang, der JSON-Parser von JKI (installierbar über den VI Package Manager) kommt mit dem folgenden Cluster bei deinen Daten klar: [attachment=62469] Eigentlich passt es zwar nicht, da die Daten laut JSON ein 2D-Array sind, aber wenn es klappt... Gruß, Jens RE: Daten aus JSON einlesen - seni austria - 23.01.2023 14:00 werde das noch versuchen.. Danke |