CodeKitHub
JSON rīki

HTML tabulas uz JSON/CSV konvertētājs

Pēdējoreiz atjaunināts:

Lai konvertētu HTML tabulu uz JSON, galvenes rindas šūnas kļūst par tavu objekta atslēgām, un katra nākamā <tr> kļūst par vienu objektu — pretējā konvertēšana no tās pašas struktūras izveido <thead>/<tbody> tabulu. Šis rīks veic konvertēšanu pilnībā tavā pārlūkā, izmantojot iebūvēto DOMParser, dati nekad netiek nekur augšupielādēti.


Kas ir šis rīks?

Tīmekļa lapas bieži attēlo datus HTML <table> elementā — cenu lapā, statistikas lapā, izvilktā sarakstā —, taču šo iezīmējumu nevar tieši izmantot kodā vai izklājlapā. Šis rīks parsē ielīmēto <table> iezīmējumu, nolasa galvenes rindu (no <thead>/<th>, vai pirmo <tr>, ja nav <thead>), sasaista katras nākamās rindas šūnas ar šīm galvenēm un izvada JSON objektu masīvu vai CSV failu.

Tas darbojas arī otrādi: ielīmē objektu JSON masīvu vai CSV tekstu, un rīks izveido pareizi strukturētu HTML tabulu ar <thead> kolonnu galvenēm un <tbody> datu rindām, gatavu ielīmēšanai tīmekļa lapā vai CMS.

Viss darbojas ar pārlūka iebūvēto DOMParser — HTML netiek sūtīts uz serveri, tāpēc to droši var izmantot ar ielīmētu saturu, kas satur iekšējus vai jutīgus datus.

Avots: tabulas struktūra atbilst WHATWG HTML Living Standard tabulas elementa definīcijai.

Kāpēc to izmantot?

  • Divvirzienu konvertēšana — HTML tabula uz JSON, HTML tabula uz CSV un JSON/CSV atpakaļ tīrā HTML tabulas iezīmējumā.
  • Automātiska galvenes noteikšana — darbojas gan ar <thead>/<th> iezīmējumu, gan vienkāršu pirmo <tr> kā galvenes rindu.
  • Nav vajadzīgs vispirms kopēt ielīmēt izklājlapā — dodies tieši no tabulas iezīmējuma uz strukturētiem datiem.
  • Ģenerē pareizi maskētu HTML izvadi, tāpēc īpašie simboli, piemēram, < un & tavos datos nesabojā tabulu.
  • 100% klienta puses — HTML, ko ielīmē (kas var nākt no iekšējas lapas vai administratora paneļa), nekad neatstāj tavu pārlūku.

Kā to lietot

  1. Lai konvertētu HTML tabulu: ielīmē <table>...</table> iezīmējumu pirmajā laukā, tad noklikšķini "Konvertēt uz JSON" vai "Konvertēt uz CSV".
  2. Pārskati izvadi, tad kopē to vai noklikšķini lejupielādes saiti, lai saglabātu failu.
  3. Lai izveidotu HTML tabulu: ielīmē JSON masīvu vai CSV tekstu otrajā laukā.
  4. Noklikšķini "Konvertēt uz HTML tabulu" un kopē izveidoto iezīmējumu savā lapā vai CMS.

Piemērs

Ievade

<table><tr><th>name</th><th>age</th></tr><tr><td>Alice</td><td>30</td></tr></table>

Izvade

[{"name":"Alice","age":"30"}]

Pirmās rindas šūnas kļūst par objekta atslēgām; katra nākamā rinda kļūst par vienu masīva elementu ar vērtībām, kas ņemtas kā teksts.

Praktiski padomi

  • Datu izvilkšana no tabulas tīmekļa lapā: apskati lapas avotu vai pārbaudi elementu, kopē <table>...</table> iezīmējumu un ielīmē to šeit, nevis manuāli pārraksti datus.
  • API atbildes publicēšana kā lasāma tabula vietnē vai CMS: ielīmē JSON masīvu otrajā laukā un kopē izveidoto HTML tieši savas lapas bagātinātā teksta vai HTML blokā.
  • Ja tabula izmanto <div> vai CSS grid izkārtojumu, nevis īstu <table> iezīmējumu, šis rīks to nevar parsēt — avota lapai jāizmanto reāli HTML tabulas tagi.

Kāpēc galvenes noteikšana ir svarīga

Tabula bez skaidras galvenes rindas ir neviennozīmīga — katram tālākajam rīkam jāzina, kura rinda nosaka kolonnu nosaukumus, pirms tas var pārvērst atlikušās rindas strukturētos ierakstos. Šis rīks atrisina šo neviennozīmību tāpat kā pārlūki un lielākā daļa skrāperu: tas vispirms meklē skaidru <thead> sadaļu un pāriet uz pirmās redzamās rindas izmantošanu kā galveni tikai tad, ja <thead> nav. Tas nodrošina paredzamu konvertēšanu pat ar roku rakstītam vai izvilktam tabulas iezīmējumam, kas izlaiž semantiskākus tagus.

Biežāk uzdotie jautājumi

Vai tas darbojas ar tabulām, kas neizmanto <thead>?

Jā. Ja nav <thead>, rīks pāriet uz pirmās <tr> tabulā izmantošanu kā galvenes rindu.

Kas notiek, ja rindā ir mazāk šūnu nekā galvenes rindā?

Trūkstošās šūnas tajā rindā tiek atstātas kā tukšas virknes JSON izvadē vai tukšas CSV, tāpēc rindas struktūra paliek neskarta, nevis izraisa kļūdu.

Vai iekšā ievietoti tagi šūnā, piemēram, <b> vai <a>, tiek saglabāti?

Nē — tiek izvilkts tikai katras šūnas redzamais teksta saturs. Iekļautais formatējums, saites un citi iekšā ievietotie tagi šūnā tiek noņemti, un paliek tikai vienkāršs teksts.

Vai ielīmētais HTML tiek kaut kur nosūtīts?

Nē. Parsēšana notiek ar pārlūka iebūvēto DOMParser, pilnībā tavā ierīcē — nekas netiek augšupielādēts uz serveri.

Vai es varu JSON masīvu caur šo rīku konvertēt atpakaļ HTML tabulā?

Jā — ielīmē JSON masīvu (vai CSV) otrajā laukā un noklikšķini "Konvertēt uz HTML tabulu", lai iegūtu derīgu, pareizi maskētu <table> iezīmējumu ar tām pašām atslēgām kā kolonnu galvenēm.

Saistītie rīki