Omvormen naar JSON
LinkZet CSV, INI, NDJSON, TOML, TSV, XML of YAML om naar JSON. Plak de bron of open een lokaal bestand en stel daarna de parser en inspringing in. De omzetting gebeurt in je browser. De invoer wordt niet geüpload.
Hoe het omzetten werkt
LinkNDJSON wordt een JSON-array. Iedere niet-lege regel wordt als een afzonderlijke JSON-waarde gelezen. Objecten, arrays, tekenreeksen, getallen, booleaanse waarden en null zijn dus toegestaan. Lege regels worden overgeslagen. Bij ongeldige JSON stopt de omzetting en noemt de foutmelding de mislukte regel.
CSV- en TSV-tabellen worden arrays met objecten als de eerste rij de koppen bevat. Punten in een kop maken geneste eigenschappen. Zo wordt hello.there.general achtereenvolgens hello, there en general. Kolommen met hetzelfde pad worden in één object samengevoegd. Een backslash voor een punt geldt ook als scheidingsteken. Zonder koprij blijven de waarden op positie staan. CSV ondersteunt ook een aangepast scheidingsteken en aangepaste koppen. Met typeherkenning worden herkenbare getallen, booleaanse waarden en nullwaarden omgezet in plaats van als tekst bewaard.
INI-secties worden geneste objecten. Sleutels buiten een sectie komen onder global en alle INI-waarden blijven tekenreeksen. TOML-tabellen, arrays van tabellen en waarden worden JSON-objecten, arrays en waarden. TOML-commentaar en opmaak blijven niet behouden. YAML-mappings, reeksen en scalaire waarden volgen dezelfde omzetting.
XML-elementen worden objecteigenschappen. Herhaalde elementen worden arrays en tekst wordt een tekenreeks. De attributensleutel, standaard @attributes, bewaart XML-attributen. Commentaar, verwerkingsinstructies, naamruimten en het verschil tussen CDATA en gewone tekst blijven niet behouden.
Uitvoer instellen
LinkKies tabs of nul tot acht spaties voor de inspringing. Nul spaties behoudt regeleinden maar verwijdert de inspringing. De opmaak sorteert geen sleutels en verandert geen waarden. Ongeldige invoer geeft een foutmelding in plaats van onvolledige JSON.
Gebruik de aparte JSON-opmaker hieronder als je bestaande JSON alleen wilt opmaken, verkleinen of valideren.
Wat JSON kan vastleggen
LinkJSON is een plattetekstformaat voor gestructureerde gegevens. Een document bevat één object, array, tekenreeks, getal, booleaanse waarde of null. Objecten koppelen eigenschapsnamen aan waarden. Arrays bewaren waarden in een vaste volgorde.
{
"id": 42,
"naam": "Voorbeeld",
"actief": true,
"labels": ["demo", "openbaar"]
}
Strikte JSON staat geen commentaar, afsluitende komma’s, enkele aanhalingstekens, eigenschapsnamen zonder aanhalingstekens, NaN of undefined toe. Het formaat kent ook geen ingebouwd datum- of binair type. Toepassingen bewaren zulke waarden meestal als tekenreeksen volgens een afgesproken notatie.
Objecten, arrays en datatypen
LinkEen objectsleutel is altijd een tekenreeks en staat tussen dubbele aanhalingstekens. De volgorde is zichtbaar in de tekst, maar software hoort daar alleen betekenis aan te geven als een toepassingscontract dat voorschrijft. Sleutels binnen één object horen uniek te zijn. Parsers gaan verschillend om met dubbele sleutels en veel bewaren stilzwijgend alleen de laatste waarde.
Arrays bewaren hun volgorde en mogen verschillende soorten waarden bevatten, hoewel API’s vaak verwachten dat ieder item dezelfde structuur heeft. JSON-getallen gebruiken een decimale notatie en mogen een breukdeel of exponent bevatten. Voorloopnullen zijn niet toegestaan, behalve in nul zelf. Tekenreeksen gebruiken backslash-escapes zoals \n voor een regeleinde en \t voor een tab.
Validatie en veelvoorkomend gebruik
LinkEen JSON-parser controleert de syntaxis, niet of de gegevens alle velden van een toepassing bevatten. JSON Schema of toepassingscode moet verplichte eigenschappen, datatypen, bereiken en andere regels controleren. Een document kan dus goed worden geparseerd en toch door een API worden geweigerd.
Web-API’s gebruiken JSON vaak voor aanvragen en antwoorden. Toepassingen gebruiken het ook voor instellingen, lockbestanden, testgegevens, vertalingen en statische datasets. Objecten en arrays sluiten goed aan op gegevensstructuren in programmeertalen. Eenheden, datums, identificatienummers en regels voor versiebeheer vallen echter buiten de JSON-grammatica.
Wat verloren kan gaan
LinkEen omzetting kan de waarden bewaren en toch details van de bronnotatie verliezen. CSV en TSV bieden weinig type-informatie als typeherkenning uitstaat. INI kent alleen tekstwaarden. XML-attributen hebben de ingestelde attributensleutel nodig. Commentaar, elementnaamruimten en gemengde XML-inhoud zijn niet betrouwbaar te reconstrueren. Ook YAML-commentaar, ankers, aliassen, tags en scalaire stijlen verdwijnen.
JSON legt geen vaste getalprecisie vast. JavaScript kan niet ieder geheel getal boven 9.007.199.254.740.991 exact weergeven. Controleer daarom grote identificatienummers en waarden die hun volledige precisie moeten behouden. De omzetter houdt ook de volledige invoer en uitvoer in het geheugen en is niet geschikt voor zeer grote bestanden.
Bestanden, privacy en opgeslagen werk
LinkKies een bestand of sleep het naar het bestandsveld. Een herkende extensie selecteert automatisch het juiste invoertype. De browser leest het bestand lokaal met FileReader en uploadt het niet.
Het gekozen formaat, de invoer per formaat, parserinstellingen en JSON-opmaak staan in localStorage. Wisselen van formaat overschrijft geen tekst of opties van een ander formaat. Wis de velden of sitegegevens na verwerking van gevoelige informatie op een gedeeld apparaat.
Gerelateerde hulpmiddelen
Link- Omvormen naar YAML
- Omvormen naar NDJSON
- Omvormen naar TOML
- JSON-opmaker, -verkleiner en -validator
- Omvormen naar CSV
- Omvormen naar INI
- Omvormen naar TSV
- Omvormen naar XML
Widget gemaakt met staark