Ich möchte aus einer JSON-Datei mit Matlab lesen und alles in "Daten" als Objekte speichern. Nach dem Import muss ich alle durchlaufen und bestimmte Werte extrahieren, wenn sie im Objekt verfügbar sind.JSON-Objekte mit Matlab lesen
JSON (Quelle):
{
"eid": 44000,
"dpm_id": {
"dpm": "fm",
"pwr": "main"
},
"fpga_id": 3189637128,
"fpga_ver": 3104379702,
"boot_id": 0,
"pbs_ver": "PBS 2012-05-07 16:41"
}
{
"sid": 1,
"hk1": {
"bela_mode": "pbs_mode",
"pbs_version": "version 1.3",
"scet": "2038-01-19T03:14:08",
"ref_time": "0:00:00",
"tc_received": 2,
"tc_exec": 2,
"tc_err_ack": 0,
"tc_err_exec": 1,
"tm_total": 1,
"tm_sent": 1,
"tm_dropped": 0,
....
Matlab (Import, according to this website, resp. Class):
fname = 'FileName.json';
fid = fopen(fname);
raw = fread(fid,inf);
str = char(raw');
fclose(fid);
data = JSON.parse(str)
Problem/Frage:
Wie Sie sehen, Matlab nur liest den Inhalt des ersten Klammern/Feld. Wie kann ich ALLE Klammern/Felder importieren, auch wenn ich nicht weiß wie viele es gibt?
data =
eid: 44000
dpm_id: [1x1 struct]
fpga_id: 3.1896e+09
fpga_ver: 3.1044e+09
boot_id: 0
pbs_ver: 'PBS 2012-05-07 16:41'
Vielen Dank!
Werfen Sie einen Blick hier: http://iso2mesh.sourceforge.net/cgi-bin/index.cgi?jsonlab Quelle hier: https://github.com/fangq/jsonlab – 0xMB
Einige Möglichkeiten, JSON zu analysieren: http : //undocumentedmatlab.com/blog/json-matlab-integration – Daniel