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
- Incolla un oggetto JSON nell'editor.
- Controlla le righe @property a destra: i tipi provengono dai valori di esempio, ad esempio string[] per i tag e object per l'indirizzo.
- 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.