Naar de inhoud

JSON naar JSDoc-opmerkingenconverter — Numio

Bouwt een JSDoc @typedef-opmerking met één @property-regel per sleutel uit een JSON-voorbeeld. Geneste sleutels gebruiken puntpaden zoals adres.stad, sleutels van array-items naam[].key en optionele sleutels [haakjes].

Automatische aanvulling van de editor verkrijgen voor een API-antwoord in een eenvoudig JavaScript-project.

JSON

JSDoc

Wanneer gebruik je dit?

  • Automatische aanvulling van de editor verkrijgen voor een API-antwoord in een eenvoudig JavaScript-project.
  • // @ts-check typecontrole inschakelen voor JSON-gegevens zonder naar TypeScript te gaan.

Hoe werkt het

  1. Plak een JSON-object in de editor.
  2. Controleer de @property-regels aan de rechterkant: typen komen uit de voorbeeldwaarden, bijvoorbeeld string[] voor tags en object voor adres.
  3. Kopieer de opmerking, hernoem de typedef van json naar een echte naam en gebruik deze met @type {YourName}.

JSON-ingang

{
  "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
 */

Details en beperkingen

De reactie wordt gegenereerd in uw browser; er worden geen gegevens naar een server verzonden. Er zijn geen instellingen.

Alle items van een array worden samengevoegd: sleutels die bij sommige items ontbreken, worden tussen vierkante haakjes geschreven als optioneel, zoals [orders[].gift].

Een waarde die alleen null is, wordt getypt {null}; null naast echte waarden geeft een unie zoals {string|null}. Lege arrays krijgen het type {Array}.

Bewaar ID's zoals 001 als strings in de invoer; eenmaal geparseerd als getallen gaan de voorloopnullen verloren.

FAQ

Hoe worden arrays van objecten gedocumenteerd?

De array is getypt object[] en de itemsleutels worden weergegeven met naam[].key-paden, zoals orders[].sku, waarbij de sleutels van alle items worden gecombineerd.

Kan ik een JSON-array in de root converteren?

Ja. De itemvorm wordt @typedef {object} jsonItem met zijn eigenschappen, gevolgd door @typedef {jsonItem[]} json voor de array.

Begrijpt TypeScript de gegenereerde typedef?

Ja, TypeScript leest @typedef met geneste @property-paden in .js-bestanden wanneer checkJs of // @ts-check is ingeschakeld. Vervang eerst een kale {null} door het echte type.

Specificaties en referenties