Matlab处理JSON数据

Matab需要对C#的数据进行处理。采用JSON格式相对来说比较方便。

定义的JSON格式如下

{
     "datas":[
        [{"X":11,"Y":12,"Z":13,"A":1,"B":11,"C":111},{"X":1201,"Y":1202,"Z":2,"A":1,"B":11,"C":111}],
        [{"X":21,"Y":22,"Z":23,"A":1,"B":11,"C":111}],
        [{"X":11,"Y":12,"Z":13,"A":1,"B":11,"C":111},{"X":1201,"Y":1202,"Z":2,"A":1,"B":11,"C":111}]
    ]
}

下面是利用JsonLib()处理JSON的例子

% 数据点
fname='data3d.json'; %待读取的文件名称
if(exist(fname,'file')==0) break; end
opt.SimplifyCell=0; %解析选项
jsonData=loadjson(fname,opt)   ; 
datas=jsonData.datas;
% datas{2}{1}.Z   %访问数据的格式
str=[];
disp(['total Row:',num2str(length(datas))]);

% 遍历
for i=1:length(datas)
  row= datas{i};
  %
  for j=1:length(row)
      cell=row{j};
      disp(cell.X);
  end
end

% 增加新的一行(Cell),新行包含两个cell,每个cell中就是一个struct
disp(str);
point1.X=1;
point1.Y=2;
point1.Z=4;
newIndex=length(datas)+1;
point2.A=1;
point2.B=1;
point2.C=1;
datas{newIndex}={point1,point2};
% 编码时的选项
opt.Compact=1;
opt.FileName='newjson.json';
json=savejson('datas',datas,opt);
发布了22 篇原创文章 · 获赞 4 · 访问量 4843

猜你喜欢

转载自blog.csdn.net/guo1wu3shi4/article/details/94749002