Vai al contenuto

Convertitore di commenti da JSON a JSDoc — Numio

Crea un commento JSDoc @typedef con una riga @property per ogni chiave di un esempio JSON. Le chiavi annidate usano percorsi con punti, come address.city; le chiavi degli elementi di array usano name[].key e quelle facoltative [brackets].

Ottenere il completamento automatico dell'editor per una risposta API in un semplice progetto JavaScript.

JSON

JSDoc

Quando usarlo

  • Ottenere il completamento automatico dell'editor per una risposta API in un semplice progetto JavaScript.
  • Abilitazione // del controllo del tipo @ts-check per i dati JSON senza passare a TypeScript.

Come si usa

  1. Incolla un oggetto JSON nell'editor.
  2. Controlla le righe @property a destra: i tipi provengono dai valori di esempio, ad esempio string[] per i tag e object per l'indirizzo.
  3. Copia il commento, rinomina typedef da json con un nome reale e usalo con @type {YourName}.

Ingresso 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
 */

Dettagli e limiti

Il commento viene generato nel tuo browser; nessun dato viene inviato a un server. Non ci sono impostazioni.

Tutti gli elementi di un array vengono uniti: le chiavi mancanti in alcuni elementi vengono scritte tra parentesi quadre come facoltative, ad esempio [orders[].gift].

Un valore che è solo null viene digitato {null}; null accanto ai valori reali fornisce un'unione come {string|null}. Gli array vuoti vengono digitati {Array}.

Mantieni ID come 001 come stringhe nell'input; una volta analizzati come numeri, gli zeri iniziali vengono persi.

FAQ

Come vengono documentati gli array di oggetti?

L’array riceve il tipo object[] e le chiavi degli elementi sono elencate con percorsi name[].key, come orders[].sku, combinando le chiavi di tutti gli elementi.

Posso convertire un array JSON alla radice?

SÌ. La forma dell'elemento diventa @typedef {object} jsonItem con le sue proprietà, seguita da @typedef {jsonItem[]} json per l'array.

TypeScript comprende il typedef generato?

Sì, TypeScript legge @typedef con percorsi @property annidati nei file .js quando checkJs o // @ts-check è abilitato. Sostituisci prima un {null} nudo con il tipo reale.

Specifiche e riferimenti