Конвертируйте JSON в XML формат
Tool guide
XML still runs the places where an integration was wired up years ago: catalogue feeds, price lists for marketplaces, SOAP endpoints and legacy importers that accept nothing else. This converter builds a tag tree out of JSON — keys turn into element names, nested objects into child nodes, arrays into repeated tags. Next to Copy XML there is a Download XML button: the file is assembled and saved locally, with nothing sent onward. See also: turn the XML back into JSON, pretty print the resulting XML, get the same object as YAML for a config file.
The page repairs tag names itself: a character XML rejects becomes an underscore, a key starting with a digit gets one in front, and every rename is named in the status line. Keys like 2024 or order date therefore produce a valid document — with changed names, so check them against the receiving schema. If a validator still complains, the cause is usually the schema itself: a required element order, a namespace, or a value type.
Yes. Put them under the @attributes key and its contents become attributes rather than child elements: {"offer":{"@attributes":{"id":"A-1"},"#text":"Laptop"}} yields Laptop. The #text key sets the element's own text. Every other field still becomes a child tag, and quotes and apostrophes inside attribute values are escaped.
Each element is emitted as its own tag carrying the array's key as the name, giving you a run of identically named sibling nodes. That is the standard XML way to hold a list. Note that a one-element list stops looking like a list on the way back: XML cannot distinguish a single-item collection from a plain field.
Check the first line of the output. If there is no declaration and your importer insists on one, add that line before uploading. Strict parsers also demand exactly one root element, and a top-level array yields several sibling nodes, so wrap them in a container tag yourself.
Those characters are markup in XML, so correct output replaces them with the <, > and & entities. Inspect product descriptions and any field holding HTML fragments: if the raw characters survived, the document breaks the moment it is parsed. Where you are unsure, wrap the value in a CDATA section by hand.
Nowhere. Building the tree and preparing the file behind the Download XML button are both done by a script inside the page. The file is assembled in browser memory and saved through the normal download dialog, bypassing any server. A price list with buying prices can be converted here without clearing an external data transfer.
Before: {"offer": {"id": "A-1", "name": "Desk chair", "price": 8900}} After: A-1 Desk chair 8900
Before: {"tags": ["sale", "new"]} After: sale new
Your rating and feedback help decide what to improve next.