Strumento gratuito

Convertitore DynamoDB JSON

Converti il JSON semplice nel formato attributo-valore di DynamoDB e viceversa — all'istante, nel tuo browser. Nulla viene inviato a un server.

JSON semplice
{
  "pk": "USER#1234",
  "sk": "PROFILE",
  "name": "Ada Lovelace",
  "age": 36,
  "scores": [10, 20, 30],
  "active": true
}

I String Set, Number Set, Binary Set e i valori binari non possono essere espressi in JSON semplice: un array JSON si converte sempre in una List (L). Questi tipi compaiono solo quando si riconverte DynamoDB JSON in JSON semplice.

DynamoDB JSON
Caricamento del convertitore…

JSON semplice vs. DynamoDB JSON

Il formato wire di basso livello di DynamoDB contrassegna ogni valore con il suo tipo. Dove la tua applicazione vede { "age": 36 }, l'API vede { "age": { "N": "36" } }. Quella forma attributo-valore è ciò che stampa la AWS CLI, ciò che compare nei log di CloudWatch e nei record di DynamoDB Streams, e ciò che incolli in una chiamata PutItem di basso livello. Il document client dell'SDK la nasconde, così i due formati si incrociano di continuo durante il debug.

Questo convertitore usa la stessa libreria di marshalling usata dall'AWS SDK, quindi l'output corrisponde esattamente a ciò che produrrebbe l'SDK. Viene eseguito interamente nel tuo browser — la libreria è caricata su richiesta e i tuoi dati non lasciano mai la pagina — il che rende sicuro incollare Item reali da una tabella di produzione.

Due casi limite sono gestiti esplicitamente. I numeri oltre l'intervallo di interi sicuro di JavaScript vengono conservati come stringhe anziché arrotondati silenziosamente, e i valori di attributo malformati — un tipo numerico che porta testo non numerico, per esempio — sollevano un errore chiaro invece di essere convertiti in silenzio. L'obiettivo è una conversione fedele di cui puoi fidarti, non un'approssimazione con perdita di dati.

Nuovo ai tag di tipo? Tipi di dati DynamoDB illustra ogni tipo attributo-valore con esempi.

Domande frequenti

Che cos'è DynamoDB JSON?

DynamoDB JSON (il formato attributo-valore) racchiude ogni valore in un oggetto a chiave singola che ne indica il tipo: una stringa è { "S": "abc" }, un numero è { "N": "5" }, una lista è { "L": [...] }, una mappa è { "M": {...} }. L'API DynamoDB di basso livello e strumenti come la AWS CLI usano questa forma, mentre il document client dell'SDK e la maggior parte del codice applicativo usano il JSON semplice. Questo convertitore traduce tra i due.

Perché il mio numero grande diventa una stringa?

DynamoDB memorizza i numeri come tipo decimale a 38 cifre senza limite di precisione, ma JavaScript perde precisione oltre 2^53. Per restare senza perdita di dati, un numero più grande di quell'intervallo sicuro viene riportato come stringa durante la conversione da DynamoDB JSON a JSON semplice. Incollare invece un numero simile come semplice numero JSON solleva un errore, perché avrebbe già perso precisione prima ancora che questo strumento lo vedesse.

Posso convertire valori Set e binari?

Da DynamoDB JSON a JSON semplice, sì — uno String/Number/Binary Set diventa un array e un valore binario diventa una stringa base64. La direzione inversa non può dedurli: il JSON semplice non ha un tipo Set, quindi un array si converte sempre in una List (L). Scrivi i Set e i valori binari direttamente sul lato DynamoDB JSON.

I miei dati lasciano il browser?

No. La conversione viene eseguita interamente lato client usando la libreria di marshalling ufficiale di AWS, caricata su richiesta nel tuo browser. Nulla di ciò che incolli viene inviato a un server.

Lavora con DynamoDB senza la Console

DynoTable è un client desktop veloce per DynamoDB — sfoglia le tabelle, esegui query in stile SQL e modifica gli Item localmente.