Konwerter JSON na komentarze JSDoc — Numio
Tworzy komentarz JSDoc @typedef z jednym wierszem @property dla każdego klucza próbki JSON. Zagnieżdżone klucze używają ścieżek z kropkami, np. address.city, klucze elementów tablic — name[].key, a klucze opcjonalne — [brackets].
Pobieranie autouzupełniania edytora dla odpowiedzi API w zwykłym projekcie JavaScript.
JSON
JSDoc
Kiedy go używać
- Pobieranie autouzupełniania edytora dla odpowiedzi API w zwykłym projekcie JavaScript.
- Włączanie // sprawdzania typu @ts-check dla danych JSON bez przechodzenia do TypeScript.
Jak używać
- Wklej obiekt JSON do edytora.
- Sprawdź linie @property po prawej stronie: typy pochodzą z przykładowych wartości, na przykład string[] dla tagów i obiekt dla adresu.
- Skopiuj komentarz, zmień nazwę typedef z json na prawdziwe imię i użyj go z @type {YourName}.
Wejście JSON
{
"id": 42,
"name": "Ada",
"tags": ["math", "poetry"],
"address": { "city": "London", "zip": "NW1" },
"orders": [
{ "sku": "A1", "qty": 2 },
{ "sku": "B7", "qty": 1, "gift": true }
],
"deletedAt": null
}JSDoc @typedef
/**
* @typedef {object} json
* @property {number} id
* @property {string} name
* @property {string[]} tags
* @property {object} address
* @property {string} address.city
* @property {string} address.zip
* @property {object[]} orders
* @property {string} orders[].sku
* @property {number} orders[].qty
* @property {boolean} [orders[].gift]
* @property {null} deletedAt
*/Szczegóły i ograniczenia
Komentarz jest generowany w Twojej przeglądarce; żadne dane nie są wysyłane na serwer. Nie ma żadnych ustawień.
Wszystkie elementy tablicy są łączone: brakujące klucze w niektórych elementach są zapisywane w nawiasach kwadratowych jako opcjonalne, np. [zamówienia[].gift].
Wartość, która jest tylko null, jest wpisana {null}; null obok wartości rzeczywistych daje sumę taką jak {string|null}. Puste tablice są wpisywane jako {Array}.
Zachowaj identyfikatory takie jak 001 jako ciągi znaków na wejściu; po przeanalizowaniu jako liczby, zera wiodące zostaną utracone.
FAQ
W jaki sposób dokumentowane są tablice obiektów?
Wpisuje się tablicę obiekt[], a klucze elementów są wyświetlane wraz ze ścieżkami nazwa[].klucz, takimi jak zamówienia[].sku, łączące klucze wszystkich elementów.
Czy mogę przekonwertować tablicę JSON w katalogu głównym?
Tak. Kształt elementu to @typedef {object} jsonItem z jego właściwościami, po którym następuje @typedef {jsonItem[]} json dla tablicy.
Czy TypeScript rozumie wygenerowany typedef?
Tak, TypeScript odczytuje @typedef z zagnieżdżonymi ścieżkami @property w plikach .js, gdy włączone jest checkJs lub // @ts-check. Najpierw wymień goły {null} na prawdziwy typ.