Vai al contenuto

Convertire JSON in PostgreSQL

Trascina il tuo file JSON per ottenere uno script PostgreSQL con istruzioni CREATE TABLE e INSERT. Ogni colonna riceve un tipo e ogni correzione è elencata con la sua riga e colonna.

Il tuo file
jsonpedidos_2024.jsonFile di esempio, 771 B
Il tuo database

4 righe convertite, 2 correzioni, nessuna rifiutata

Mostra
Le prime righe di pedidos_2024.json, con ogni correzione segnata
Riga
2000481Peña Muñoz2024-02-03T10:15:00Z1234.5true
3000482José Ángel Ruiz2024-02-15T16:40:00Z99.9falseEntrega en la tarde
4000483Zoë Ortíz2024-02-29T09:05:00Z12true
5000484Ñuño Castañeda2024-03-11T13:30:00Z980.75síFactura con "RFC"
-- Written by IntoSQL for PostgreSQL.

SET client_encoding = 'UTF8';
BEGIN;

CREATE TABLE pedidos_2024 (
    pedido text NOT NULL,
    cliente text NOT NULL,
    fecha timestamptz NOT NULL,
    total numeric(6,2) NOT NULL,
    pagado boolean NOT NULL,
    notas text
);

INSERT INTO pedidos_2024 (pedido, cliente, fecha, total, pagado, notas) VALUES
('000481', 'Peña Muñoz', '2024-02-03 10:15:00+00:00', 1234.5, TRUE, NULL),
('000482', 'José Ángel Ruiz', '2024-02-15 16:40:00+00:00', 99.9, FALSE, 'Entrega en la tarde'),
('000483', 'Zoë Ortíz', '2024-02-29 09:05:00+00:00', 12, TRUE, NULL),
('000484', 'Ñuño Castañeda', '2024-03-11 13:30:00+00:00', 980.75, TRUE, 'Factura con "RFC"');

COMMIT;

Correzioni

  1. Zeri iniziali mantenuti in "pedido": 000481 resta 000481, salvato come testo.
  2. "pagado" contiene parole sì e no (sí), salvate come booleano.

Il tuo file viene convertito su questo computer e non viene mai caricato.

Altri esempi:

Da JSON a PostgreSQL, colonna per colonna

L'esempio qui sopra, pedidos_2024.json, come IntoSQL lo scrive per PostgreSQL: cosa contiene ogni colonna nel file, il tipo che riceve e come il suo primo valore finisce nello script.

Nel filePrimo valoreColonnaTipo PostgreSQLNello script
pedido000481pedidotext'000481'
clientePeña Muñozclientetext'Peña Muñoz'
fecha2024-02-03T10:15:00Zfechatimestamptz'2024-02-03 10:15:00+00:00'
total1234.5totalnumeric(6,2)1234.5
pagadotruepagadobooleanTRUE
notas-notastextNULL

Carica lo script in PostgreSQL

Il download è un semplice file .sql. Eseguilo con gli strumenti di PostgreSQL.

Da un terminale

psql -v ON_ERROR_STOP=1 -d mydb -f pedidos_2024.postgresql.sql

ON_ERROR_STOP ferma psql al primo errore. Lo script gira in un'unica transazione, quindi un caricamento fallito lascia il database com'era.

Da uno strumento per database

In pgAdmin o DBeaver, apri lo script in una finestra di query ed eseguilo.

Senza scriptPro

IntoSQL Pro carica il file direttamente in PostgreSQL dall'app desktop o dalla riga di comando, senza scrivere uno script.

intosql load pedidos_2024.json --into postgres://user@localhost/mydb

Cosa sapere sui file JSON e su PostgreSQL

Cosa legge IntoSQL nei file JSON

  • Il file può essere un array di oggetti, un oggetto che contiene quell'array sotto una chiave come data, oppure un oggetto per riga (NDJSON).
  • Ogni chiave diventa una colonna. Oggetti e array dentro un valore restano testo JSON.
  • I numeri mantengono le cifre esatte, e le date ISO 8601 diventano date o timestamp.

Cosa sapere su PostgreSQL

  • I decimali mantengono le cifre esatte come numeric(p,s), e le date con fuso diventano timestamptz.
  • Il testo di PostgreSQL non può contenere il carattere NUL, quindi viene rimosso dai valori che lo hanno.
  • Lo script viene eseguito in un'unica transazione, quindi un caricamento che fallisce non lascia nulla a metà.

Come viene salvato ogni tipo di valore in PostgreSQL

ValorePostgreSQL
Sì e noboolean
Numeri interiinteger
Numeri interi grandibigint
Decimalinumeric(p,s)
Numeri in virgola mobiledouble precision
Datedate
Oraritime
Date con oratimestamp
Date con ora e fusotimestamptz
Testotext

Domande su JSON in PostgreSQL

Non trovi la risposta? Scrivici dalla pagina dei contatti e ti risponde una persona. Pagina dei contatti

Come converto JSON in PostgreSQL?

Trascina il file sul convertitore in cima a questa pagina. Trova l'intestazione, legge ogni valore e scrive lo script PostgreSQL, elencando ogni correzione fatta. Scarica lo script ed eseguilo con psql.

Che forma deve avere il file JSON?

Un array di oggetti, un oggetto che contiene quell'array sotto una chiave come data, oppure un oggetto per riga (NDJSON). Ogni chiave diventa una colonna.

Quali tipi PostgreSQL usa?

I valori sì e no diventano boolean, i numeri interi integer, i decimali numeric(p,s), le date date, le date con ora timestamp e il testo text. Le dimensioni dipendono dal valore più lungo di ogni colonna.

Mantiene gli zeri iniziali in PostgreSQL?

Sì. Un codice come 000481 resta testo, quindi PostgreSQL lo salva come text e lo script lo scrive come '000481'.

Può caricare i dati in PostgreSQL senza uno script?

Sì, con IntoSQL Pro. L'app desktop e la riga di comando si collegano a PostgreSQL e caricano le righe direttamente, creando prima la tabella.

Quanto può essere grande il file JSON?

L'NDJSON, un oggetto per riga, viene letto man mano che arriva, quindi nel browser funzionano file di diversi gigabyte. Un documento JSON viene letto per intero, quindi il limite è la memoria che il browser concede a questa pagina. L'app desktop e la riga di comando accettano file di qualsiasi dimensione.