[mapguide-commits] r8832 - sandbox/jng/clean_json/Web/src/HttpHandler
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Fri Nov 13 04:23:55 PST 2015
Author: jng
Date: 2015-11-13 04:23:55 -0800 (Fri, 13 Nov 2015)
New Revision: 8832
Modified:
sandbox/jng/clean_json/Web/src/HttpHandler/XmlJsonConvert.cpp
Log:
Array-ify elements that are known to have multiple elements, even if conversion only produced a single element.
Modified: sandbox/jng/clean_json/Web/src/HttpHandler/XmlJsonConvert.cpp
===================================================================
--- sandbox/jng/clean_json/Web/src/HttpHandler/XmlJsonConvert.cpp 2015-11-11 22:34:20 UTC (rev 8831)
+++ sandbox/jng/clean_json/Web/src/HttpHandler/XmlJsonConvert.cpp 2015-11-13 12:23:55 UTC (rev 8832)
@@ -153,7 +153,28 @@
if (nodeList->size() == 1)
{
childNode = (*nodeList)[0];
- this->ProcessObjectNode(childNode, bClean);
+ if (bClean)
+ {
+ bool bMultiple = false;
+ IsMultiple(childNode, bMultiple);
+
+ //If this node is known to house more than one element, then we must write
+ //a JSON array, even if there's only one element to write
+ if (bMultiple)
+ {
+ m_jsonDoc.BeginArray(1, nodeName);
+ this->ProcessArrayNode(0, childNode, bClean);
+ m_jsonDoc.EndArray();
+ }
+ else
+ {
+ this->ProcessObjectNode(childNode, bClean);
+ }
+ }
+ else
+ {
+ this->ProcessObjectNode(childNode, bClean);
+ }
}
else
{
More information about the mapguide-commits
mailing list