UltKit

HTML naar JSON converteren

Haal de tabel uit een opgeslagen webpagina en ontvang die als JSON waar uw code doorheen kan lopen. De kopcellen geven de sleutels hun naam en elke tabelrij wordt één object in een array.

Dataconverter

of sleep CSV, TSV, TXT …-bestanden hierheen ·

Max. 95 MB per bestand· Tot 20 bestanden· Verwijderd na 30 minuten

Uitvoer

Bestanden worden op onze servers verwerkt en na 30 minuten verwijderd.

Zo gebruikt u deze tool

  1. 1

    Sla de pagina of de tabel op

    Druk in je browser op Ctrl+S (Cmd+S op een Mac) en bewaar het HTML-bestand, of kopieer de opmaak van de tabel uit de ontwikkelaarstools naar een .html-bestand. Upload maximaal 20 bestanden van elk 95 MB.

  2. 2

    Kies de JSON-structuur

    Matrix van objecten is al voor je ingesteld. Zet onder Geavanceerde instellingen de JSON-structuur op Matrix van matrices voor een compacter bestand, of schakel Leesbaar opmaken uit voor één enkele regel.

  3. 3

    Converteer en gebruik de gegevens

    Klik op Converteren naar JSON, download het bestand en laad het met JSON.parse in JavaScript, json.load in Python of een andere API-client.

Sla de pagina op, upload het .html-bestand en elke tabelrij komt terug als JSON-object met de koptekstcellen van de tabel als sleutels.

Wanneer een webtabel JSON moet worden

Veel bruikbare gegevens bestaan alleen als HTML-tabel: een pagina met wisselkoersen, een competitiestand, een rapport dat je intranet toont maar nooit laat downloaden, een statuspagina met alle servers. De browser toont het mooi, maar een front-endontwikkelaar die een grafiek bouwt, of een tester die testdata nodig heeft, wil liever een matrix van objecten.

Het gebruikelijke antwoord is een scraper: de pagina ophalen, parsen met Beautiful Soup of Cheerio, de rijen doorlopen en de cellen koppelen. Dat loont als de pagina dagelijks verandert. Heb je een tabel maar één keer nodig, dan is het uploaden van de opgeslagen pagina sneller en hoef je niets te onderhouden.

Voorbeeld: HTML-tabel naar JSON

Invoertabel met th-koppen City en Founded, uitvoer met Matrix van objecten
<table>
  <tr><th>City</th><th>Founded</th></tr>
  <tr><td>Porto</td><td>1123</td></tr>
  <tr><td>Graz</td><td>1128</td></tr>
</table>

[
  { "City": "Porto", "Founded": 1123 },
  { "City": "Graz", "Founded": 1128 }
]

Wat de conversie behoudt en weglaat

  • Behouden: celtekst, de koprij als sleutels en de volgorde van de rijen
  • Weggelaten: CSS, inline stijlen, klassen en de pagina rond de tabel
  • Weggelaten: afbeeldingen en pictogrammen in cellen, die geen tekstwaarde hebben
  • Cellen met links behouden hun zichtbare tekst, niet de URL erachter
  • Spaties aan het begin en einde van cellen worden verwijderd door Spaties wegknippen
  • De uitvoer is UTF-8, wat RFC 8259 voorschrijft voor JSON die tussen systemen wordt gedeeld

Beperkingen van de HTML-naar-JSON-converter

opgeslagen pagina's geaccepteerd
.html .htm
pagina's per batch
20
per geüpload bestand
95 MB
daarna worden bestanden verwijderd
30 min

HTML en JSON naast elkaar

HTML

HyperText Markup Language

HTML is de opmaaktaal van het web, begin jaren negentig voor het eerst beschreven door Tim Berners-Lee en nu door WHATWG onderhouden als doorlopende standaard. Een HTML-bestand beschrijft koppen, alinea's, links, tabellen, afbeeldingen en formulieren, terwijl de opmaak meestal uit CSS komt. Elke browser geeft het weer, en het wordt ook gebruikt voor e-mailsjablonen en opgeslagen webpagina's. Een los HTML-bestand is vaak afhankelijk van externe afbeeldingen en stijlbladen, dus het kan er kapot uitzien als u het alleen verplaatst.

Compressie
–
Transparantie
–
Animatie
–
Geïntroduceerd
1993 · Tim Berners-Lee; maintained by WHATWG
HTML-converter

JSON

JavaScript Object Notation

JSON is een lichtgewicht tekstformaat voor gestructureerde gegevens, begin jaren 2000 gepopulariseerd door Douglas Crockford en gestandaardiseerd als RFC 8259 en ECMA-404. Het weergeeft objecten, arrays, tekenreeksen, getallen, booleans en null met eenvoudige, leesbare syntaxis. Het is het standaardformaat voor web-API's, configuratiebestanden en gegevensuitwisseling tussen apps in vrijwel elke programmeertaal. Het heeft geen ingebouwde opmerkingen, datums of schema's, en grote geneste bestanden zijn zonder viewer moeilijk te lezen.

Compressie
–
Transparantie
–
Animatie
–
Geïntroduceerd
2001 · Douglas Crockford
JSON-converter

HTML wordt JSON wanneer een tabel die voor menselijke lezers is gepubliceerd, op een rapportpagina, een intranet of een openbare statistiekensite, een script, een grafiekbibliotheek of een API-test moet voeden.

De twee formaten komen uit verschillende tradities. HTML, in 1991 voor het eerst beschreven door Tim Berners-Lee en nu als living standard onderhouden door WHATWG, maakt documenten op voor weergave. JSON, gespecificeerd door Douglas Crockford en gestandaardiseerd als RFC 8259 en ECMA-404, bevat uitsluitend gegevens. Van het eerste naar het tweede gaan betekent vooral de opmaak weggooien, en daarom is het resultaat meestal veel kleiner dan de opgeslagen pagina. Voor tabellen die als XML-feed komen in plaats van als webpagina doet XML naar JSON hetzelfde werk.

Vragen over HTML naar JSON

Leest de converter de hele webpagina of alleen tabellen?

Alleen tabelopmaak: de rijen en cellen binnen table-, tr-, th- en td-elementen. Navigatiemenu's, alinea's en kaartindelingen die met div-elementen zijn gebouwd zijn geen tabelgegevens, dus die worden niet omgezet naar JSON.

Welke rij levert de JSON-sleutels?

De koprij, meestal de th-cellen bovenaan de tabel. Als Eerste rij is koptekst aanstaat, wordt de tekst daarvan de sleutel voor elke waarde eronder. Een kolom met de kop Population geeft dus in elk object "Population": "…".

Hoe worden cellen met colspan en rowspan verwerkt?

Een samengevoegde cel beslaat meerdere rasterposities, maar bevat één waarde. Verwacht die waarde alleen op de eerste positie. Controleer dus na het converteren de kolommen die over meerdere posities lopen en vul lege plekken in code aan als je tabel op samengevoegde koppen leunt.

Waarom staan getallen in mijn JSON met komma's of voetnoottekens?

Webtabellen zijn voor lezers geschreven, dus een cel kan 1,204,000 of 8.3[2] bevatten. Een gewoon getal als 1123 wordt een JSON-getal, maar die cellen zijn geen geldige getallen en blijven tekst. Haal scheidingstekens en voetnootverwijzingen in code weg voordat je gaat rekenen.

Mag ik een tabel van een website overnemen?

Dat hangt af van de voorwaarden van de site en van de gegevens, niet van het bestandsformaat. Openbare statistieken en je eigen geëxporteerde rapporten zijn de gebruikelijke gevallen. Lees de voorwaarden voordat je andermans inhoud hergebruikt.

Kan ik een spreadsheet krijgen in plaats van JSON?

Ja. HTML naar CSV schrijft dezelfde tabel als door komma's gescheiden rijen die je opent in Excel, Google Sheets of Numbers.