JSON a HTML
Eina gratuïta en línia per convertir matrius JSON o objectes imbricats en codi de taula HTML estàndard que es pot incrustar a pàgines web. Admet aplanament imbricat, classes CSS personalitzades, desplaçament horitzontal, 6 estils visuals, marcadors de posició null, protecció del límit de files. Pestanyes dobles Code i iframe per a previsualització en temps real.
Relacionats
Sobre JSON a HTML i taules HTML
El convertidor JSON a HTML (JSON to HTML Converter) és una eina pràctica que transforma automàticament les estructures de dades JSON en codi de taula HTML estàndard. Allibera els desenvolupadors de la feina repetitiva d'escriure plantilles `<table>` / `<tr>` / `<td>` manualment, cosa que el fa ideal per mostrar ràpidament respostes d'API imbricades, fitxers de configuració o qualsevol estructura JSON com a taules web.
La taula HTML (HTML Table) és l'element de visualització de dades estructurades estàndard de W3C, compost pel contenidor `<table>`, la capçalera `<thead>`, el cos `<tbody>`, les files `<tr>`, les cel·les de capçalera `<th>`, les cel·les de dades `<td>`, la llegenda `<caption>` i altres etiquetes semàntiques. El codi generat per aquesta eina segueix estrictament aquesta estructura semàntica, cosa que és amigable per a l'indexació SEO i l'accessibilitat (els lectors de pantalla poden reconèixer-la).
Hi ha tres categories d'eines JSON a HTML al mercat: la primera només genera cadenes de codi HTML (p. ex. tooltt.com, codebeautify.org), emfatitzant "copiar i utilitzar"; la segona també proporciona previsualització visual (p. ex. aquesta eina, jsontables.com, TableConvert), emfatitzant "WYSIWYG"; la tercera admet l'expansió imbricada + la injecció de classes de Tailwind (el posicionament diferencial d'aquesta eina), ideal per a enginyers que necessiten incrustar JSON en projectes frontend moderns.
L'"Aplanament imbricat" d'aquesta eina és un punt destacat diferencial respecte a la majoria de competidors: les eines tradicionals mostrarien `{user:{name:'Alice'}}` com una cadena `"{\"name\":\"Alice\"}"`, però aquesta eina l'expandeix recursivament en una columna `user.name` (fins a 6 nivells, amb separador configurable). Això significa que podeu processar directament dades de negoci reals amb estructures imbricades complexes com l'API de GitHub, l'API de Stripe, l'API de Notion, sense preaplanament amb jq / lodash.
Un altre punt destacat diferencial és el "Hook de classe CSS personalitzada": l'eina no només genera estils en línia, sinó que també permet injectar qualsevol cadena de classe a l'etiqueta `<table>`. Això permet als usuaris de marcs CSS principals com Tailwind / Bootstrap / Bulma / DaisyUI reutilitzar directament l'HTML generat per aquesta eina i obtenir immediatament un estil de disseny coherent amb el seu projecte, sense editar CSS manualment.
Casos d'ús
- Desenvolupament frontend: renderitzeu ràpidament dades JSON de l'API en taules HTML per incrustar a quadres de comandament d'administració o pàgines de documentació
- Projectes Tailwind / Bootstrap: enganxeu noms de classes de Tailwind o Bootstrap directament al camp de classe de taula per a una integració perfecta amb el vostre sistema d'estils existent
- Pàgines web responsives: l'embolcall de desplaçament horitzontal per defecte evita que les taules mòbils trenquin la disposició de la pàgina
- Visualització de dades: enganxeu taules estilitzades a blocs, documentació, Confluence, Notion o qualsevol plataforma que admeti incrustació HTML
- Generació d'informes: convertiu ràpidament dades JSON exportades del backend en informes HTML per correu electrònic per a les parts interessades del negoci
- Prototipat frontend: previsualitzeu estils de taula amb dades reals durant la fase de disseny per alinear-vos amb producte i disseny abans del lliurament
- Sistemes CMS: creeu fragments de taula HTML estàtics per a WordPress, Drupal i altres plataformes CMS, evitant la complexitat del motor de plantilles
- Proves i depuració: enganxeu la sortida JSON.stringify de la consola del navegador per previsualitzar ràpidament l'estructura bidimensional de dades imbricades complexes
- Plantilles de correu: incrustar HTML de taula en correus HTML (provar compatibilitat amb Outlook)
- Escriptura de documentació d'API: incrustar taules HTML a Markdown, Swagger, Redoc substituint els exemples JSON predeterminats
- Escenaris docents: convertiu tasques de JSON imbricat en cursos d'estructures de dades en taules per a la correcció en lot
- Informes de neteja de dades: convertiu JSON imbricat d'exportacions de bases de dades en taules mitjançant el mode Aplanament per a una fàcil comparació de camps
Com usar-ho
- Enganxeu una matriu JSON (recomanada) o un sol objecte a l'editor esquerre, o feu clic a "Sample" per carregar 3 exemples de productes, o feu clic a "Upload" per carregar un fitxer .json / .txt
- Trieu un mode de gestió imbricada a la barra d'eines (recomanat: "Aplanament"). Els objectes imbricats s'expandeixen automàticament a claus separades per punts com `user.name`
- Feu clic al botó "Convert" (o simplement premeu Enter) per activar la conversió. L'entrada està protegida amb un debounce de 500ms
- Canvieu a la pestanya Code a la dreta per veure el codi de taula HTML amb ressaltat de sintaxi, o la pestanya Preview per veure la renderització de l'iframe en temps real
- Activeu les opcions d'estil a la barra d'eines (ratlles zebrades / vores / passar per sobre / compacte / responsiu), introduïu una classe de taula personalitzada, configureu el marcador de posició null — la previsualització en directe s'actualitza instantàniament
- Quan estigueu satisfets, feu clic a "Copy" per copiar el codi HTML o "Download" per desar com a table.html. Feu clic a Reset si necessiteu començar de nou
Característiques
- Aplanament automàtic d'objectes imbricats: expandeix recursivament `{user:{name,age}}` en claus amb notació de punts `user.name`, `user.age` (separador configurable), sense scripts manuals
- Tres modes de gestió imbricada: Aplanament (Recomanat, auto-expansió fins a 6 nivells) / Claus de nivell superior (objecte imbricat com a columna única) / Cadena (objecte imbricat com a cadena JSON)
- Hook de classe CSS personalitzada: injecta qualsevol cadena de classe a `<table>` i al `<div>` embolcall opcional, integració perfecta amb Tailwind / Bootstrap / Bulma
- Desplaçament horitzontal responsiu: embolcall exterior `overflow-x:auto` per defecte, apareix una barra de desplaçament horitzontal automàticament a pantalles estretes
- 6 interruptors d'estil visual: ratlles zebrades, vores, ressaltat en passar per sobre, mode compacte, columna d'índex (#), llegenda de taula — aplicació instantània des de les caselles de la barra d'eines
- Pestanyes dobles Code + iframe: la pestanya Code mostra el codi HTML amb ressaltat de sintaxi, la pestanya Preview renderitza la taula real en un iframe sandbox en temps real
- Ressaltat per tipus: null es mostra en gris cursiva (text de marcador de posició personalitzable), booleans en verd/vermell, números en blau, objectes imbricats es poden veure com a JSON complet en passar per sobre
- Protecció del límit de files: límit per defecte de 1000 files (1-10000 configurable), trunca automàticament amb un avís "Truncat" per evitar que el navegador es torni lent
- Retroalimentació d'estadístiques de generació: el panell dret mostra "X files × Y columnes generades" + insígnia de truncament en temps real
- Còpia / descàrrega amb un sol clic: en mode Code, copia el codi HTML al porta-retalls o descarrega'l com a fitxer table.html
- Dades de mostra + càrrega de fitxers: 3 mostres de productes integrades (Laptop / Mouse / Desk Chair) amb càrrega d'un sol clic, admet arrossegar i deixar anar o fer clic per carregar fitxers .json / .txt
- Reinici amb un sol clic: el botó Reinicia de la barra d'eines restaura instantàniament les 14 configuracions als valors predeterminats
- Historial local: basat en localStorage, emmagatzema les 200 entrades més recents de manera persistent, recuperable després d'actualitzar o tancar la pestanya per accident
- Processament completament local al navegador: tota l'anàlisi JSON, generació d'HTML, còpia i descàrrega passa al vostre navegador, sense enviar dades a cap servidor
Exemples de codi
JavaScript: Aplanament imbricat + Integració de classes Tailwind
javascriptL'ús més comú en el món real: cridar l'API de GitHub, aplanar objectes imbricats a claus amb notació de punts i després integrar amb classes de Tailwind al vostre projecte.
// 1) Crida l'API de GitHub per obtenir la llista d'usuaris
async function fetchUsers() {
const res = await fetch('https://api.github.com/users?per_page=10');
return await res.json();
}
// 2) Funció d'aplanament imbricat (equivalent a la lògica d'aplanament de l'eina)
function flattenObject(obj, prefix = '', sep = '.', result = {}) {
for (const [k, v] of Object.entries(obj || {})) {
const key = prefix ? `${prefix}${sep}${k}` : k;
if (v && typeof v === 'object' && !Array.isArray(v)) {
flattenObject(v, key, sep, result);
} else {
result[key] = v;
}
}
return result;
}
// 3) Converteix les dades aplanades a taula HTML, injecta classes de Tailwind
function generateHtmlTable(rows) {
const flat = rows.map(r => flattenObject(r));
const cols = [...new Set(flat.flatMap(r => Object.keys(r)))];
const thead = cols.map(c => `<th class="px-4 py-2 text-left">${c}</th>`).join('');
const tbody = flat.map(r =>
`<tr class="border-b hover:bg-gray-50">${cols.map(c => `<td class="px-4 py-2">${r[c] ?? 'N/A'}</td>`).join('')}</tr>`
).join('');
return `<table class="min-w-full text-sm">
<thead class="bg-gray-100"><tr>${thead}</tr></thead>
<tbody>${tbody}</tbody>
</table>`;
}
// 4) Injecta a la pàgina
const users = await fetchUsers();
const html = generateHtmlTable(users);
document.getElementById('table-container').innerHTML = html;
console.log('Generades ' + users.length + ' files, ' + (Object.keys(flattenObject(users[0])).length) + ' columnes');Python: JSON imbricat a taula HTML a Flask (sense dependències de frontend)
pythonEn la renderització de plantilles del backend, podeu utilitzar les biblioteques integrades de Python per generar la mateixa taula HTML, admetent l'aplanament imbricat i la injecció de classes.
from flask import Flask, jsonify, render_template_string
import json
app = Flask(__name__)
TEMPLATE = """
<!doctype html><html><body>
<div class="overflow-x-auto">{{ table_html | safe }}</div>
</body></html>
"""
def flatten(obj, prefix='', sep='.', result=None):
"""Aplana recursivament els objectes imbricats"""
if result is None:
result = {}
for k, v in (obj or {}).items():
key = f"{prefix}{sep}{k}" if prefix else k
if isinstance(v, dict):
flatten(v, key, sep, result)
else:
result[key] = v
return result
def json_to_html_table(data, table_class='min-w-full border-collapse',
max_rows=1000, responsive=True):
if isinstance(data, dict):
data = [data]
if not data:
return "<p>Sense dades</p>"
# Truncament de files
truncated = False
if len(data) > max_rows:
data = data[:max_rows]
truncated = True
# Aplana cada fila
flat_rows = [flatten(row) for row in data]
# Recull tots els noms de columna (utilitza set per desduplicar, conservant l'ordre d'inserció)
columns = []
for row in flat_rows:
for k in row.keys():
if k not in columns:
columns.append(k)
# Genera thead
thead = "".join(f'<th class="px-4 py-2 text-left bg-gray-100">{c}</th>' for c in columns)
# Genera files de taula
rows = []
for i, row in enumerate(flat_rows):
bg = "bg-gray-50" if i % 2 == 1 else ""
tds = "".join(
f'<td class="px-4 py-2 {bg}">{("N/A" if row.get(c) is None else row.get(c, ""))}</td>'
for c in columns
)
rows.append(f'<tr class="hover:bg-blue-50">{tds}</tr>')
html = f'<table class="{table_class}"><thead><tr>{thead}</tr></thead><tbody>{"".join(rows)}</tbody></table>'
if responsive:
html = f'<div class="overflow-x-auto">{html}</div>'
if truncated:
html = f'<p class="text-amber-600 text-sm">Dades truncades a les primeres {max_rows} files</p>{html}'
return html
@app.route('/api/users')
def users():
data = json.load(open('users.json'))
return jsonify(data)
@app.route('/users.html')
def users_html():
import requests
data = requests.get('http://localhost:5000/api/users').json()
return render_template_string(TEMPLATE, table_html=json_to_html_table(data))
if __name__ == '__main__':
app.run(debug=True)Línia d'ordres: Aplanament amb jq + Generació d'informe HTML estàtic
bashEscenari d'operacions: agregueu registres JSON imbricats amb jq, després enganxeu-los a aquesta eina per generar un informe HTML amb classes de Tailwind.
# 1) Utilitzeu jq per agregar i aplanar registres imbricats a claus amb notació de punts
cat app.log | jq -s '
group_by(.response.status_code) |
map({
status: .[0].response.status_code,
count: length,
"first_request.method": .[0].request.method,
"last_request.url": .[-1].request.url,
"first_seen": min_by(.timestamp).timestamp,
"last_seen": max_by(.timestamp).timestamp
})
' > stats.json
# 2) Enganxeu stats.json a aquesta eina
# Seleccioneu el mode "Aplanament (Recomanat)" a la barra d'eines
# Marqueu "Ratlles zebrades + Embolcall responsiu + Vores"
# Al camp nom de classe de taula introduïu: min-w-full text-sm border-collapse
# Configureu el marcador de posició null: - (els camps que falten es mostren com a -)
# Configureu la Llegenda: Estadístiques del registre d'errors de producció 2026-07
# Feu clic a Convert i després baixeu table.html
# 3) Pugeu a un lloc web estàtic S3 / OSS
aws s3 cp table.html s3://my-bucket/reports/2026-07.html --acl public-read
# O incrustar a documentació de Confluence / Notion / VuePress
sed -i '' 's/min-w-full/min-w-full shadow-md/g' table.html
# O enviar com a correu electrònic HTML
mutt -e "set content_type=text/html" -s "Registre d'errors 2026-07" your@email.com < table.htmlPreguntes freqients
Com es converteixen dades JSON en una taula HTML?
Enganxeu una matriu JSON (cada element és un objecte) al quadre d'entrada esquerre, feu clic al botó "Convert" de la barra d'eines. La pestanya Code a la dreta mostrarà el codi de taula HTML amb ressaltat de sintaxi, la pestanya Preview mostrarà la renderització de l'iframe en temps real. Feu clic a "Copy" per enganxar-lo a qualsevol pàgina HTML.
Es poden convertir objectes JSON imbricats en una taula HTML?
Sí. Aquesta eina té un mode d'aplanament imbricat integrat que expandeix recursivament `{user:{name:'Alice',age:30}}` en columnes `user.name` i `user.age` fins a una profunditat de 6 nivells. També podeu canviar al mode "Claus de nivell superior" (conserva l'objecte imbricat com a cadena JSON en una sola columna) o al mode "Cadena" (tracta tot com a cadena).
Puc canviar el separador de claus després de l'aplanament?
El separador per defecte és `.` (produeix `user.name`), seguint les convencions comunes a JavaScript / MongoDB / Lodash. Si necessiteu `user_name` o `user/name`, personalitzeu-lo a l'entrada "Separador" de la barra d'eines (visible per a usuaris avançats).
Puc personalitzar l'estil de la taula HTML generada?
L'eina ofereix tres maneres de personalitzar l'estil: ① 6 interruptors visuals a la barra d'eines (ratlles zebrades, vores, passar per sobre, compacte, índex, llegenda) s'apliquen instantàniament; ② introduïu una classe personalitzada al quadre "nom de classe de taula" (p. ex. Tailwind `min-w-full border-collapse`), s'injectarà a `<table class="...">`; ③ editeu directament l'HTML generat abans d'utilitzar-lo.
Admet Tailwind / Bootstrap?
Sí. Introduïu classes de Tailwind (p. ex. `min-w-full border-collapse text-sm`) o classes de Bootstrap (p. ex. `table table-striped table-hover table-bordered`) al quadre "nom de classe de taula" — l'eina injectarà aquestes classes a l'etiqueta `<table>`. Nota: els estils en línia de l'eina tenen la prioritat més alta i sobreescriuran alguns estils de Tailwind (color de fons, padding). Recomanem desactivar l'opció corresponent de la barra d'eines (com les ratlles zebrades) abans d'utilitzar Tailwind.
Quina diferència hi ha entre la pestanya Code i la pestanya Preview?
La pestanya Code mostra el codi font HTML amb ressaltat de sintaxi, perfecte per copiar i editar. La pestanya Preview renderitza la taula real en un iframe sandbox per a una experiència WYSIWYG. El contingut és idèntic — ambdues formes permeten canviar ràpidament entre "veure codi" i "veure resultat".
L'HTML generat admet el disseny responsiu mòbil?
Sí. L'eina activa l'opció "Embolcall responsiu" per defecte, embolicant `<table>` en un contenidor `<div style="overflow-x:auto;max-width:100%;">`. Quan l'amplada de la pantalla és menor que l'amplada de la taula, el contenidor mostra automàticament una barra de desplaçament horitzontal, evitant que la taula trenqui la disposició de la pàgina. Aquesta opció es pot desactivar a la barra d'eines.
Com es mostren els valors null, booleans i números a les cel·les?
L'eina fa un ressaltat per tipus: null es mostra en gris cursiva (marcador de posició personalitzable a `N/A`, `-`, etc.), el booleà true en verd, false en vermell, els números en blau, les cadenes planes tal qual; els objectes imbricats en mode Aplanament s'extreuen per camí, en altres modes es converteixen en cadena JSON i es trunquen a 50 caràcters.
Es pot utilitzar directament el codi HTML generat en un lloc web?
Sí. La sortida és l'estructura de taula W3C HTML5 estàndard (`<table>` / `<thead>` / `<tbody>` / `<caption>`), el CSS es genera com a estil en línia. Es pot enganxar directament a qualsevol pàgina HTML per a ús autònom, sense dependència de CSS o JS extern. També podeu descarregar-lo com a fitxer table.html.
Quina diferència hi ha entre JSON a HTML i JSON a CSV?
La taula HTML és un format visual estilitzat, perfecte per incrustar a pàgines web; CSV és un format de dades de text pla, perfecte per importar a Excel / Pandas / bases de dades per a anàlisi. Ambdós es generen a partir de les mateixes dades JSON. Recomanem previsualitzar primer la disposició en aquesta eina, després utilitzar l'eina JSON a CSV per exportar la versió de dades.
Com es pot modificar el text de la capçalera de la taula?
L'eina utilitza automàticament les claus de primer nivell de l'objecte JSON com a contingut de la capçalera `<th>` (en mode Aplanament, s'utilitza el camí complet separat per punts, p. ex. `user.name`). Si voleu que la capçalera mostri un text diferent (p. ex. en català), hi ha tres opcions: ① Modifiqueu els noms de les claus JSON font directament; ② Editeu manualment el contingut `<th>...</th>` a la pestanya Code després de generar; ③ Utilitzeu sed per substituir en bloc l'HTML generat.
El table.html descarregat es mostra en blanc quan s'obre al navegador. Què he de fer?
El table.html descarregat només conté l'estructura de l'etiqueta `<table>` (amb un possible embolcall responsiu `<div>`) — no té una esquelet HTML complet (`<html>` / `<head>` / `<body>`). Està dissenyat com un fragment per incrustar a pàgines web existents. Podeu afegir manualment una esquelet HTML complet utilitzant una eina de formatació HTML, o enganxar-lo directament a la ubicació adequada de la pàgina del vostre projecte.
La pàgina es torna lenta quan es generen 1000+ files. Què he de fer?
L'eina té per defecte una protecció de límit de 1000 files, mostrant "Truncat" si se supera. Si realment necessiteu una taula de 5000 files, augmenteu "Files màx." a la barra d'eines fins a 10000, però recomanem: ① Dividiu en taules paginades (50 files per pàgina); ② Utilitzeu IntersectionObserver per al desplaçament virtual; ③ O utilitzeu biblioteques de components dedicades com TanStack Table / AG Grid per a escenaris de visualització de dades.
Es pugen les meves dades a un servidor? Com de segura és la privadesa?
Tot funciona localment al vostre navegador. Totes les operacions d'anàlisi JSON, generació d'HTML, còpia i descàrrega passen al vostre navegador mitjançant JavaScript, i la lectura de fitxers només passa al FileReader local. No s'envia res a cap servidor. Podeu utilitzar aquesta eina de manera segura amb respostes d'API sensibles i camps de negoci no publicats — tancar la pàgina esborra totes les dades.
Solució de problemes
Avís: "Introduïu dades JSON" o error similar
El quadre d'entrada esquerre està buit o només conté espais en blanc. Assegureu-vos que heu enganxat contingut JSON vàlid, o feu clic a "Sample" per carregar dades de mostra, o feu clic a "Upload" per seleccionar un fitxer .json / .txt.
Avís: "Unexpected token ... in JSON at position N"
El format JSON no és vàlid. Causes comunes: ① Coma extra al final (p. ex. [{},{},]); ② Cometes simples en lloc de cometes dobles; ③ Sintaxi d'objecte JS (p. ex. {key: value}) en lloc de JSON ({"key": "value"}). Utilitzeu una eina de formatació JSON per validar i corregir primer.
La taula generada només té la capçalera, sense files de dades
Les dades JSON són una matriu buida [] o un objecte buit {}. Aquesta eina retorna un comentari `<!-- No valid objects found -->` per a matrius buides. Afegiu almenys un objecte de dades al vostre JSON font.
Els noms de columna són massa llargs en mode Aplanament (p. ex. user.profile.address.city.country.code)
Quan la imbricació és massa profunda, suggerim: ① Canvieu al mode "Claus de nivell superior" (només pren camps de nivell superior, els objectes imbricats es converteixen en una columna JSON completa); ② Reestructura el vostre JSON font per reduir la imbricació innecessària; ③ Utilitzeu el botó Reinicia de la barra d'eines per restaurar la configuració d'aplanament predeterminada.
La injecció de classes de Tailwind no té efecte
L'eina genera estils en línia per defecte (padding, fons), que sobreescriuen les classes d'utilitat de Tailwind amb el mateix nom. Suggeriments: ① Desactiveu l'opció d'estil corresponent de la barra d'eines (com les ratlles zebrades) abans d'utilitzar Tailwind per controlar els colors de fons; ② O utilitzeu PostCSS per eliminar els atributs d'estil en línia de l'HTML generat.
L'alçada de la taula està comprimida dins de l'embolcall responsiu
"Embolcall responsiu" fa que l'alçada del div extern segueixi la taula per defecte. Si el vostre contenidor pare és un disseny flex sense alçada especificada, la taula filla es pot comprimir. Afegiu min-h-0 al contenidor pare o configureu l'alçada de la taula.
El table.html descarregat està en blanc quan s'obre al navegador
El fitxer descarregat només conté el fragment <table> (amb un possible embolcall responsiu <div>), sense una esquelet HTML completa (<!doctype html> / <html> / <head> / <body>). Està dissenyat per facilitar la incrustació a pàgines web existents. Utilitzeu una eina de formatació HTML per afegir l'esquelet complet, o enganxeu directament a la ubicació adequada del vostre projecte.
El text de la capçalera de la taula en català mostra caràcters corruptes
Les claus al JSON font contenen caràcters en català — assegureu-vos que el fitxer font estigui codificat en UTF-8. Si el JSON s'ha copiat d'Excel, pot haver-se convertit a GBK; utilitzeu una eina de conversió de codificació per convertir a UTF-8 abans d'enganxar.
Vull modificar en bloc la taula generada (p. ex. substituir el logotip de l'empresa / canviar color)
Després de generar, copieu l'HTML de la pestanya Code a la dreta i utilitzeu sed / PostCSS / un script personalitzat per substituir en bloc els atributs d'estil. Una comanda comuna: sed -i '' 's/#f9fafb/#your-color/g' table.html.
La pàgina es torna lenta quan es generen 1000+ files
L'eina té per defecte un límit de protecció de 1000 files. Podeu ajustar maxRows a la barra d'eines fins a 10000, però els navegadors pateixen una caiguda de rendiment notable en renderitzar DOM molt grans (>1000 nodes). Suggerim: ① Dividiu en taules paginades (50 files per pàgina); ② Utilitzeu IntersectionObserver per al desplaçament virtual; ③ O utilitzeu biblioteques de components dedicades com TanStack Table / AG Grid per a escenaris de visualització de dades.
S'han perdut els registres d'historial
L'historial s'emmagatzema al localStorage del navegador. Esborrar les dades del navegador / canviar al mode d'incògnit / utilitzar un altre navegador farà que es perdi l'historial. L'eina no puja l'historial a cap servidor, per la qual cosa no es pot sincronitzar entre dispositius.
No es poden veure les dades en brut després del límit de files
L'eina té per defecte maxRows=1000, les files que superen es trunquen. Si les vostres dades font > 1000 files però només necessiteu les primeres N per a previsualització, configureu maxRows més petit (p. ex. 100) per obtenir resultats més ràpids. Per a dades completes, suggerim utilitzar directament scripts de Python / Node.js.
Glossari
- Taula HTML (HTML Table)
- Element de visualització de dades estructurades estàndard de W3C, compost per etiquetes semàntiques table / thead / tbody / tr / th / td / caption. El codi generat per aquesta eina segueix estrictament aquesta estructura.
- Matriu JSON
- Col·lecció d'objectes embolicats entre claudàtors [...]. L'eina utilitza cada objecte de la matriu com a fila de la taula; una matriu buida no genera cap taula (es mostra un avís).
- Objecte JSON
- Col·lecció de parells clau-valor embolicats entre claus {}. L'eina utilitza cada clau de l'objecte com a capçalera de la taula i el valor com a cel·la; un sol objecte s'embolica automàticament com a taula d'una sola fila.
- Aplanament (Flatten)
- Expansió recursiva d'objectes imbricats en claus planes separades per punts, p. ex. {user:{name:'A'}} → 'user.name'. L'eina admet l'aplanament automàtic de 6 nivells amb un separador configurable.
- thead / tbody
- Dues divisions semàntiques de la taula HTML: thead embolcalla la fila de capçalera (th), tbody embolcalla les files de dades (td). El codi generat per l'eina distingeix estrictament aquestes dues parts.
- Caption
- Etiqueta de títol de la taula, ubicada a la primera fila dins de la taula. L'eina admet text de llegenda personalitzat; quan està activat, el títol especificat es mostra a la part superior de la taula, útil tant per a SEO com per a accessibilitat.
- Ratlles zebrades (Zebra Striping)
- Patró visual en què les files senars i parelles utilitzen alternativament colors de fons diferents, comunament la combinació #fff / #f9fafb. L'eina ho activa mitjançant la casella "Ratlles zebrades", millorant significativament la llegibilitat per a taules llargues.
- Estil en línia (Inline Style)
- Escriure CSS directament a través de l'atribut style d'una etiqueta HTML, en lloc de fer referència a un full d'estils extern. L'eina genera tots els estils com a estil en línia per defecte, de manera que el codi es pot utilitzar tal qual sense fitxers CSS addicionals.
- Hook de classe CSS
- Capacitat diferencial de l'eina: injectar qualsevol cadena de classe (com una classe de Tailwind) a l'etiqueta `<table>`, integrant-se perfectament amb els marcs CSS existents. Aquesta és una millora clau respecte als competidors.
- iframe sandbox
- Mode sandbox segur de l'etiqueta HTML iframe, que pot restringir l'execució d'scripts i l'enviament de formularis. L'eina utilitza un iframe amb sandbox="allow-same-origin" per previsualitzar l'HTML generat, evitant l'execució accidental d'scripts.
- Ressaltat per tipus
- Capacitat diferencial de l'eina: aplicació de colors diferents segons el tipus JS del valor de la cel·la (null / boolean / number / object / string), fent la depuració de dades d'API més intuïtiva.
- Historial localStorage
- Emmagatzematge local de clau-valor proporcionat pel navegador (capacitat ~5-10MB). L'eina utilitza localStorage per emmagatzemar de manera persistent les 200 entrades més recents, que es poden restaurar ràpidament després d'actualitzar o tancar la pestanya per accident.
- Embolcall responsiu (Responsive Wrapper)
- Embolcallar la taula en un `<div style="overflow-x:auto;max-width:100%;">` extern perquè la taula obtingui automàticament una barra de desplaçament horitzontal a pantalles estretes. Activat per defecte; es pot desactivar a la barra d'eines.
- Debounce
- Tècnica d'optimització del rendiment del frontend: combinar les devolucions de trucada d'esdeveniments d'alta freqüència (com l'entrada) en una única execució després de l'última activació. L'eina estableix un debounce de 500ms per evitar retards en l'anàlisi de fitxers grans.
- W3C HTML5
- Especificació estàndard HTML creada pel World Wide Web Consortium (W3C). El codi generat per l'eina compleix l'especificació HTML5 i es renderitza correctament a tots els navegadors moderns.
Comparació de tres modes de gestió imbricada
La barra d'eines proporciona tres modes per a diferents escenaris imbricats. Trieu segons la complexitat de l'estructura JSON:
| Mode | Comportament | Columna de mostra | Escenari |
|---|---|---|---|
Aplanament (Recomanat) | Expandeix recursivament els objectes imbricats a claus separades per punts ( profunditat ≤ 6) | user.name / user.tags.0 | Estructures imbricades d'API reals com GitHub / Stripe / Notion; voleu cada camp en la seva pròpia columna |
Claus de nivell superior | Només pren les claus de primer nivell de l'objecte; els objectes / matrius imbricats es converteixen en una cadena JSON d'una sola columna | user / tags | Quan l'estructura imbricada és inestable o massa profunda (>6 nivells); només us importa la visió general dels camps de nivell superior |
Cadena | Força que tots els valors es tractin com a cadenes; els objectes imbricats es JSON.stringifiquen directament | user (com a blob JSON) | Escenaris de depuració: preserveu l'estructura JSON original per a inspecció visual |
Full de referència ràpida de les 14 opcions configurables de la barra d'eines
Totes les 14 opcions configurables de la barra d'eines i les seves diferències visuals, per a una selecció ràpida de combinacions:
| Opció | Tipus | Efecte visual / Comportament |
|---|---|---|
includeIndex | checkbox | Afegeix una columna numerada # a l'esquerra (incrementant des d'1) |
striped | checkbox | Alterna el fons de les files senars/parells (blanc / #f9fafb) |
bordered | checkbox | Vora grisa d'1px al voltant de les cel·les + línia d'èmfasi de 2px sota la capçalera |
hover | checkbox | Fons gris clar #f9fafb en passar per sobre de la fila |
compact | checkbox | Redueix el padding de la cel·la de 10px×14px a 6px×8px |
responsive | checkbox | Embolcall en contenidor overflow-x:auto; desplaçament horitzontal a pantalles estretes |
flattenMode | select | Gestió imbricada: Aplanament (Recomanat) / Claus de nivell superior / Cadena |
tableClass | text | Classe CSS personalitzada injectada a <table class="..."> |
nullPlaceholder | text | Text de visualització per a cel·les null / undefined (buit mostra 'null') |
maxRows | number | Nombre màxim de files generades (1-10000), trunca automàticament amb avís quan se supera |
caption | text | Text de títol personalitzat mostrat a la part superior de la taula (caption-side: top) |
indexHeader | text | Text de capçalera per a la columna d'índex (per defecte #) |
flattenSeparator | text | Separador per a claus en mode Aplanament (per defecte ., es pot canviar a _ / - etc.) |
wrapperClass | text | Classe CSS personalitzada per a l'embolcall responsiu <div> (avançat) |
Full de referència ràpida de les regles de ressaltat per tipus de cel·la
L'eina aplica automàticament colors diferents segons el tipus JavaScript del valor JSON per a un reconeixement ràpid del tipus de dades:
| Tipus JS | Detecció | Estil aplicat | Exemple de sortida |
|---|---|---|---|
null / undefined | val === null || val === undefined | color: #9ca3af; font-style: italic; mostra text de marcador de posició (personalitzable) | <span style="color:#9ca3af;font-style:italic;">N/A</span> |
boolean (true) | typeof val === 'boolean' && val | color: #059669; | <span style="color:#059669;">true</span> |
boolean (false) | typeof val === 'boolean' && !val | color: #dc2626; | <span style="color:#dc2626;">false</span> |
number | typeof val === 'number' | color: #2563eb; | <span style="color:#2563eb;">42</span> |
object / array (mode Aplanament) | type === 'object' + mode Aplanament extreu per camí | Objectes imbricats s'extreuen per camí a valors atòmics | user.name → 'Alice' |
object / array (altres modes) | typeof val === 'object' | JSON.stringify i escapament i truncament a 50 caràcters, cursiva porpra + title en passar per sobre mostra JSON complet | <span style="color:#7c3aed;font-style:italic;" title="...">{"id":1…</span> |
string | altrament | Color de text predeterminat #4b5563 | Jennifer Martinez |
Privacy & Security
Aquesta eina JSON a HTML executa tota l'anàlisi JSON, l'aplanament imbricat, la generació d'HTML, la còpia i la descàrrega completament al vostre navegador mitjançant JavaScript. Les dades JSON d'entrada i el codi HTML generat no es pugen a cap servidor, ni es registren, emmagatzemen a la memòria cau o al núvol. Podeu utilitzar aquesta eina de manera segura amb respostes d'API sensibles no publicades i camps de negoci interns — tancar la pàgina esborra totes les dades.
Authoritative References
- Comprimir JSON
- CSV a JSON
- JSON a CSV
- JSON Diff
- JSON Escape / Unescape
- Aplanar JSON
- JSON Formatter
- Generador de JSON
- Consulta JSONPath
- Combinar JSON
- Reparació JSON
- Validador d'Esquema JSON
- Ordenar JSON
- JSON Stringify
- JSON a HTML
- JSON a Java
- JSON a Markdown
- JSON a SQL
- JSON a TOML
- JSON a TypeScript
- XML a JSON
- Converteix JSON a XML
- YAML a JSON
- JSON → YAML
- JSON a Python
- JSON a Go
- JSON a Rust
- JSON a Swift
- JSON a C#
- JSON a C++
- JSON a PHP