How are JSON arrays mapped to XML?
Each array element is wrapped in an <item> tag inside its parent element. So {"colors": ["red", "blue"]} becomes <colors><item>red</item><item>blue</item></colors>. This avoids ambiguity when the array is empty or contains a single element — both still parse as a list on the receiving end.
What root element does the converter use?
The output is wrapped in a single <root> element to satisfy XML's requirement of exactly one document element. If your target system expects a different root (e.g. <Envelope> for SOAP, <Order> for a domain document), search-and-replace <root> with the correct tag in the output.
Are JSON property names valid XML element names?
Not always. XML forbids spaces, leading digits, and most punctuation in element names. The converter sanitises invalid characters to underscores and prefixes names that start with a digit (so "1stItem" becomes "_1stItem"). Review the output if your JSON keys contain unusual characters.
Does the output map values to XML attributes or elements?
This converter uses element-only mapping — every JSON property becomes a child element with text content. Attribute mapping (key="value") is conventional in some XML schemas but loses information when values are themselves objects. Element-only output is safer and round-trips more cleanly.
Are special characters in values escaped?
You should escape five XML-reserved characters in element text: & (&), < (<), > (>), " ("), and ' ('). For binary or markup-rich content, wrap the value in CDATA: <![CDATA[ raw text ]]>. The converter emits raw values; if your JSON contains < or &, post-process the output for full conformance.
Why does my SOAP service reject the converted XML?
SOAP requires a soap:Envelope root, a soap:Body wrapper, and (often) a target namespace declaration on the payload. The plain XML this tool produces is well-formed but not a SOAP envelope. Wrap the converted body in your envelope template and add xmlns attributes manually.
Can JSON null be expressed in XML?
XML has no native null. Conventions vary: an empty element (<status></status>), an xsi:nil="true" attribute (requires the XSI namespace), or the literal text "null". This converter emits the text "null" for JSON null values — adjust if your schema requires xsi:nil semantics.
Is my JSON sent to a server?
No. Conversion runs entirely in your browser using JavaScript. JSON containing customer data, API keys, or proprietary payloads never leaves your device. Open DevTools Network tab and verify — no request fires when you click Convert.