Skip to content

Commit b660fc1

Browse files
committed
Merge branch 'master' of https://github.com/fangq/jsonlab
2 parents b89275e + 9fc869b commit b660fc1

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

jdataencode.m

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
newitem=mat2jd(item,varargin{:});
5656
elseif(isa(item,'table'))
5757
newitem=table2jd(item,varargin{:});
58-
elseif(isa(item,'digraph'))
58+
elseif(isa(item,'digraph') || isa(item,'graph'))
5959
newitem=graph2jd(item,varargin{:});
6060
else
6161
newitem=any2jd(item,varargin{:});
@@ -164,13 +164,19 @@
164164
function newitem=graph2jd(item,varargin)
165165
newitem=struct;
166166
nodedata=table2struct(item.Nodes);
167-
if(any(ismember(G.Edges.Properties.VariableNames,'Name')))
167+
if(isfield(nodedata,'Name'))
168168
nodedata=rmfield(nodedata,'Name');
169-
newitem(N_('_GraphNodes_'))=containers.Map(item.Nodes.Name,num2cell(nodedata),'uniformValues',false);
169+
newitem.(N_('_GraphNodes_'))=containers.Map(item.Nodes.Name,num2cell(nodedata),'uniformValues',false);
170170
else
171-
newitem(N_('_GraphNodes_'))=containers.Map(1:max(item.Edges.EndNodes(:)),num2cell(nodedata),'uniformValues',false);
171+
newitem.(N_('_GraphNodes_'))=containers.Map(1:max(item.Edges.EndNodes(:)),num2cell(nodedata),'uniformValues',false);
172172
end
173-
newitem(N_('_GraphEdges_'))=num2cell(table2cell(item.Edges),2);
173+
edgenodes=item.Edges.EndNodes;
174+
edgedata=table2struct(item.Edges);
175+
if(isfield(edgedata,'EndNodes'))
176+
edgedata=rmfield(edgedata,'EndNodes');
177+
end
178+
edgenodes(:,3)=num2cell(edgedata);
179+
newitem.(N_('_GraphEdges_'))=edgenodes;
174180

175181
%%-------------------------------------------------------------------------
176182
function newname=N_(name,varargin)

0 commit comments

Comments
 (0)