Konwerter online JavaScript na JSON — Numio
Zamienia literał obiektowy JavaScript w ścisły JSON z 2 spacjami. Klucze bez cudzysłowu, pojedyncze cudzysłowy, komentarze, przecinki końcowe, liczby szesnastkowe i miejsca dziesiętne z kropką wiodącą są akceptowane i normalizowane.
Kopiowanie obiektu konfiguracyjnego lub urządzenia z pliku .js do pliku JSON, treści żądania API lub kolekcji Postman.
Akceptuje JSON i JSON5, w tym komentarze, pojedyncze cudzysłowy i końcowe przecinki. Funkcje i wyrażenia JavaScript nie są wykonywane.
JS Object
JSON
Kiedy go używać
- Kopiowanie obiektu konfiguracyjnego lub urządzenia z pliku .js do pliku JSON, treści żądania API lub kolekcji Postman.
- Czyszczenie obiektu wklejonego z przeglądarki DevTools lub dokumentacji, aby przeszedł rygorystyczny parser JSON.
Jak używać
- Wklej literał obiektowy (tylko dane, bez deklaracji zmiennej i końcowego średnika) do lewego edytora lub użyj przycisku ładowania pliku, aby otworzyć plik UTF-8.
- JSON pojawia się po prawej podczas wpisywania; gdy wystąpi błąd, np. "invalid character", sprawdź wskazany wiersz i kolumnę.
- Przejrzyj przekonwertowane wartości (szesnastkowo staje się dziesiętnym, cudzysłowy stają się podwójnymi cudzysłowami) i skopiuj wynik.
Dosłowny obiekt JavaScript
{
// 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"
}Szczegóły i ograniczenia
Dane wejściowe są analizowane parserem JSON5 w przeglądarce; kod nigdy nie jest wykonywany. Wyrażenia, funkcje, new Date(), literały szablonowe, undefined i odwołania do zmiennych są odrzucane jako nieprawidłowe znaki.
NaN i Infinity są odrzucane z błędem, ponieważ JSON nie może ich reprezentować.
Komentarze i oryginalne formatowanie kolejności kluczy nie są zachowywane; dane wyjściowe zawsze używają podwójnych cudzysłowów i wcięcia z dwoma spacjami.
Liczby całkowite powyżej 2^53 tracą precyzję (12345678901234567890 staje się 12345678901234567000). Cytuj duże identyfikatory jako ciągi znaków.
FAQ
Czy mogę wkleić const config = { ... };?
Nie. Akceptowana jest tylko wartość. Usuń deklarację i końcowy średnik, w przeciwnym razie analizator zgłosi nieprawidłowy znak w tej pozycji.
Co się dzieje z duplikatami kluczy?
Wygrywa ostatnie wystąpienie. {a: 1, a: 2} zmienia się w {"a": 2} bez ostrzeżenia, więc sprawdź obiekty, które zostały połączone ręcznie.
Czy akceptuje tablice lub pojedyncze wartości w katalogu głównym?
Tak. Każda wartość JSON5 działa, na przykład [1, 2,] staje się dwuelementową tablicą JSON, a „hi” staje się „hi”.