diff --git a/lib/src/clixon_json.c b/lib/src/clixon_json.c index f6f8ff23..731d90de 100644 --- a/lib/src/clixon_json.c +++ b/lib/src/clixon_json.c @@ -190,14 +190,16 @@ array_eval(cxobj *xprev, xml_type(xnext)==CX_ELMNT && strcmp(xml_name(x),xml_name(xnext))==0){ ns2 = xml_find_type_value(xnext, NULL, "xmlns", CX_ATTR); - if (nsx && ns2 && strcmp(nsx,ns2)==0) + if ((!nsx && !ns2) + || (nsx && ns2 && strcmp(nsx,ns2)==0)) eqnext++; } if (xprev && xml_type(xprev)==CX_ELMNT && strcmp(xml_name(x),xml_name(xprev))==0){ ns2 = xml_find_type_value(xprev, NULL, "xmlns", CX_ATTR); - if (nsx && ns2 && strcmp(nsx,ns2)==0) + if ((!nsx && !ns2) + || (nsx && ns2 && strcmp(nsx,ns2)==0)) eqprev++; } if (eqprev && eqnext) @@ -432,6 +434,8 @@ xml2json1_cbuf(cbuf *cb, break; } + int na = xml_child_nr_notype(x, CX_ATTR); + int commas = na - 1; for (i=0; i 0) { cprintf(cb, ",%s", pretty?"\n":""); + --commas; + } } switch (arraytype){ case BODY_ARRAY: