Naar de inhoud

JavaScript naar JSON online converter — Numio

Verandert een JavaScript-object letterlijk in een strikte, met twee spaties ingesprongen JSON. Sleutels zonder aanhalingstekens, enkele aanhalingstekens, commentaar, komma's, hexadecimale getallen en decimalen met voorlooppunten worden geaccepteerd en genormaliseerd.

Een configuratie- of armatuurobject kopiëren uit een .js-bestand naar een JSON-bestand, een API-verzoektekst of een Postman-verzameling.

Accepteert JSON en JSON5, inclusief opmerkingen, enkele aanhalingstekens en afsluitende komma’s. Functies en JavaScript-expressies worden niet uitgevoerd.

JS Object

JSON

Wanneer gebruik je dit?

  • Een configuratie- of armatuurobject kopiëren uit een .js-bestand naar een JSON-bestand, een API-verzoektekst of een Postman-verzameling.
  • Een object opschonen dat is geplakt vanuit browser DevTools of documentatie, zodat het een strikte JSON-parser doorgeeft.

Hoe werkt het

  1. Plak het object letterlijk (alleen gegevens, geen variabeledeclaratie of afsluitende puntkomma) in de linkereditor, of gebruik de knop Bestand laden om een ​​UTF-8-bestand te openen.
  2. De JSON verschijnt aan de rechterkant terwijl u typt; Als er een fout zoals 'ongeldig teken' verschijnt, controleer dan de gerapporteerde regel en kolom.
  3. Bekijk de geconverteerde waarden (hex wordt decimaal, aanhalingstekens worden dubbele aanhalingstekens) en kopieer het resultaat.

JavaScript-object letterlijk

{
  // Mongoose-style field definition
  title: {
    type: 'String',
    required: true,
  },
  year: { type: 'Number', max: 0x7E6 },
  tags: ['draft', 'review',],
  ratio: .75,
  'content-type': "text/plain",
}

JSON

{
  "title": {
    "type": "String",
    "required": true
  },
  "year": {
    "type": "Number",
    "max": 2022
  },
  "tags": [
    "draft",
    "review"
  ],
  "ratio": 0.75,
  "content-type": "text/plain"
}

Details en beperkingen

Invoer wordt geparseerd met de JSON5-parser in uw browser; de code wordt nooit uitgevoerd. Expressies, functies, nieuwe Date(), sjabloonletterlijke waarden, ongedefinieerde verwijzingen en variabele verwijzingen worden afgewezen als ongeldige tekens.

NaN en Infinity worden afgewezen met een fout omdat JSON ze niet kan vertegenwoordigen.

Opmerkingen en de oorspronkelijke opmaak van de sleutelvolgorde worden niet bewaard; uitvoer gebruikt altijd dubbele aanhalingstekens en inspringing met twee spaties.

Gehele getallen groter dan 2^53 verliezen precisie (12345678901234567890 wordt 12345678901234567000). Citeer grote ID's als tekenreeksen.

FAQ

Kan ik const config = { ... }; plakken?

Nee. Alleen de waarde wordt geaccepteerd. Verwijder de declaratie en de afsluitende puntkomma, anders rapporteert de parser een ongeldig teken op die positie.

Wat gebeurt er met dubbele sleutels?

De laatste gebeurtenis wint. {a: 1, a: 2} wordt zonder waarschuwing {"a": 2}, dus controleer objecten die met de hand zijn samengevoegd.

Accepteert het arrays of afzonderlijke waarden in de root?

Ja. Elke JSON5-waarde werkt, bijvoorbeeld [1, 2,] wordt een JSON-array met twee elementen en 'hi' wordt 'hi'.

Specificaties en referenties