【发布时间】:2014-11-06 18:54:29
【问题描述】:
我想用 Matlab 从 json 文件中读取数据并将所有内容作为对象存储在“数据”中。导入后,我需要遍历所有并提取特定值,如果它在对象中可用。
JSON(来源):
{
"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(导入,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)
问题/疑问:
如您所见,Matlab 仅读取第一个括号/字段的内容。如何导入所有括号/字段,即使我不知道有多少?
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'
谢谢!
【问题讨论】:
-
解析 json 的一些可能性:undocumentedmatlab.com/blog/json-matlab-integration