diff --git a/examples/demo_jsonlab_basic.m b/examples/demo_jsonlab_basic.m index e5f46a4..11431b3 100644 --- a/examples/demo_jsonlab_basic.m +++ b/examples/demo_jsonlab_basic.m @@ -109,6 +109,10 @@ data2json=reshape(1:(2*4*6),[2,4,6]); savejson('',data2json,'NestArray',1,'FormatVersion',1.8) +json2data=loadjson(ans,'FormatVersion',1.8) +if(any(json2data(:)~=data2json(:)) || any(size(json2data)~=size(data2json))) + warning('conversion does not preserve original data'); +end fprintf(1,'\n%%=================================================\n') fprintf(1,'%% a 3-D array in annotated array form (JSONLab 1.9 or earlier)\n') @@ -116,6 +120,10 @@ data2json=reshape(1:(2*4*6),[2,4,6]); savejson('',data2json,'NestArray',0,'FormatVersion',1.8) +json2data=loadjson(ans,'FormatVersion',1.8) +if(any(json2data(:)~=data2json(:)) || any(size(json2data)~=size(data2json))) + warning('conversion does not preserve original data'); +end fprintf(1,'\n%%=================================================\n') fprintf(1,'%% a complex number\n') diff --git a/loadjson.m b/loadjson.m index ea75f91..cee0499 100644 --- a/loadjson.m +++ b/loadjson.m @@ -408,7 +408,8 @@ end pos=parse_char(inputstr, pos, '}'); if(isstruct(object) && jsonopt('JDataDecode',1,varargin{:})==1) - object=jdatadecode(object,struct('Recursive',0)); + varargin{:}.Recursive=0; + object=jdatadecode(object,varargin{:}); end end