Map xsi:nil to JSON null (no upload)
How to interpret xsi:nil and preserve null semantics in JSON output.
What this problem looks like
XML failures are usually escaping/namespace/structure mismatches that break parser expectations.
Treat errors as signals. Fix the input format first, validate locally, then convert and export.
- Validate first: run a local validator for strict JSON/XML/CSV.
- Sample: test 20–50 rows/items before processing a full export.
- Spot-check: verify a few keys/rows before downloading.
Practical checklist (fast)
Use a fast checklist: confirm strict syntax, confirm expected shape, and only then convert. This reduces “random fixing” and prevents exporting broken output.
If you handle sensitive data, local processing avoids accidental uploads while debugging.
- Confirm your delimiter/quotes for CSV or your tag structure for XML.
- Confirm JSON is strict (double quotes, no trailing commas, no comments).
- Export only after the sample output looks correct.
Local conversion workflow
For CSV and JSON exports, keep transformations simple: parse → normalize → serialize. When issues appear, fix the input rather than adding hidden “auto-fixes”.
Use the built-in download/copy actions to move data to the next step without sending it to a server.
In XML, xsi:nil="true" usually means “the value is explicitly null”. Treat it differently from an empty string or a missing element so you don’t lose semantic meaning.
- Nil element: map to
nullin JSON. - Empty element: map to
""when “empty but present” matters. - Missing element: omit the key if “unknown/not provided” is meaningful.
Trust note: All processing happens locally in your browser. Files are never uploaded.
FAQ
Why does it work in one tool but not in another? Different tools accept different non-standard inputs. Stick to strict JSON/XML/CSV for reliability.
Is it safe to convert private files online? If privacy matters, prefer local no-upload tools and verify via the Network tab.
Local verification snippet
Run a quick local check before export/convert:
const doc = new DOMParser().parseFromString(xmlText, 'application/xml');
const err = doc.querySelector('parsererror');
if (err) throw new Error(err.textContent || 'Invalid XML');
console.log('XML is well-formed');