INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Daten aus JSON einlesen



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

23.01.2023, 10:03
Beitrag #1

seni austria Offline
Urgestein
*


Beiträge: 17
Registriert seit: Aug 2005

LV6.1...LV2017
1988
EN

6800
Oesterreich
Daten aus JSON einlesen
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
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.01.2023, 10:18
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.457
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Daten aus JSON einlesen
Hallo seni,

laut https://jsonformatter.org/ ist dein JSON-Beispiel fehlerhaft.

Kannst du mal ein korrektes Beispiel beifügen?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.01.2023, 10:41 (Dieser Beitrag wurde zuletzt bearbeitet: 23.01.2023 13:22 von seni austria.)
Beitrag #3

seni austria Offline
Urgestein
*


Beiträge: 17
Registriert seit: Aug 2005

LV6.1...LV2017
1988
EN

6800
Oesterreich
Photo RE: Daten aus JSON einlesen
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
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.01.2023, 11:09 (Dieser Beitrag wurde zuletzt bearbeitet: 23.01.2023 11:24 von TpunktN.)
Beitrag #4

TpunktN Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 212
Registriert seit: Jul 2011

2021
2011
EN

70***
Deutschland
RE: Daten aus JSON einlesen
(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


Angehängte Datei(en) Thumbnail(s)
   

"Auch aus Steinen, die einem in den Weg gelegt werden, kann man Schönes bauen."
Johann Wolfgang von Goethe
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.01.2023, 13:40
Beitrag #5

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Daten aus JSON einlesen
Hallo Wolfgang,

der JSON-Parser von JKI (installierbar über den VI Package Manager) kommt mit dem folgenden Cluster bei deinen Daten klar:

   

Eigentlich passt es zwar nicht, da die Daten laut JSON ein 2D-Array sind, aber wenn es klappt...

Gruß, Jens

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.01.2023, 14:00 (Dieser Beitrag wurde zuletzt bearbeitet: 23.01.2023 14:02 von seni austria.)
Beitrag #6

seni austria Offline
Urgestein
*


Beiträge: 17
Registriert seit: Aug 2005

LV6.1...LV2017
1988
EN

6800
Oesterreich
RE: Daten aus JSON einlesen
werde das noch versuchen..

Danke
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Web-Download einer json-Seite HH99 8 6.878 03.04.2020 21:14
Letzter Beitrag: HH99

Gehe zu: