From 749f2bdc17f9d9233aa9612872c3d44d4707ec18 Mon Sep 17 00:00:00 2001 From: fangq <fangq@786e58fb-9377-0410-9ff7-e4ac0ac0635c> Date: Wed, 28 Aug 2013 18:36:54 +0000 Subject: [PATCH] handling empty matrix in saveubjson git-svn-id: http://svn.code.sf.net/p/iso2mesh/code/trunk/jsonlab@413 786e58fb-9377-0410-9ff7-e4ac0ac0635c --- examples/jsonlab_selftest.m | 10 ++++++++++ saveubjson.m | 7 ++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/examples/jsonlab_selftest.m b/examples/jsonlab_selftest.m index c29ffbe..1caaf28 100644 --- a/examples/jsonlab_selftest.m +++ b/examples/jsonlab_selftest.m @@ -10,3 +10,13 @@ for i=1:4 fprintf(1,'%s\n',json); data=loadjson(json); end + +for i=1:4 + fname=sprintf('example%d.json',i); + if(exist(fname,'file')==0) break; end + fprintf(1,'===============================================\n>> %s\n',fname); + json=saveubjson('data',loadjson(fname)); + fprintf(1,'%s\n',json); + data=loadubjson(json); + savejson('',data) +end diff --git a/saveubjson.m b/saveubjson.m index e840cb0..0a9953c 100644 --- a/saveubjson.m +++ b/saveubjson.m @@ -237,7 +237,12 @@ if(length(size(item))>2 || issparse(item) || ~isreal(item) || ... if(isempty(name)) txt=['{' S_('_ArrayType_'),S_(class(item)),padding0,S_('_ArraySize_'),I_a(size(item),cid(1)) ]; else - txt=[S_(checkname(name,varargin{:})),'{',S_('_ArrayType_'),S_(class(item)),padding0,S_('_ArraySize_'),I_a(size(item),cid(1))]; + if(isempty(item)) + txt=[S_(checkname(name,varargin{:})),'Z']; + return; + else + txt=[S_(checkname(name,varargin{:})),'{',S_('_ArrayType_'),S_(class(item)),padding0,S_('_ArraySize_'),I_a(size(item),cid(1))]; + end end else if(isempty(name)) -- GitLab