Przejdź do treści

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ć

  1. 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.
  2. JSON pojawia się po prawej podczas wpisywania; gdy wystąpi błąd, np. "invalid character", sprawdź wskazany wiersz i kolumnę.
  3. 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”.

Specyfikacje i referencje