Outil gratuit

Convertisseur DynamoDB JSON

Convertis du JSON brut vers le format attribute-value de DynamoDB et inversement — instantanément, dans ton navigateur. Rien n’est envoyé à un serveur.

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

Les String Sets, Number Sets, Binary Sets et valeurs binaires ne peuvent pas s’exprimer en JSON brut : un tableau JSON se convertit toujours en List (L). Ces types n’apparaissent que lors de la conversion de DynamoDB JSON vers du JSON brut.

DynamoDB JSON
Chargement du convertisseur…

JSON brut vs DynamoDB JSON

Le format de bas niveau de DynamoDB tague chaque valeur avec son type. Là où ton application voit { "age": 36 }, l’API voit { "age": { "N": "36" } }. Cette forme attribute-value est ce que l’AWS CLI affiche, ce qui apparaît dans les logs CloudWatch et les enregistrements DynamoDB Streams, et ce que tu colles dans un appel PutItem de bas niveau. Le document client du SDK le masque, si bien que les deux formats se croisent en permanence pendant le débogage.

Ce convertisseur utilise la même bibliothèque de marshalling que l’AWS SDK, donc la sortie correspond exactement à ce que produirait le SDK. Il s’exécute entièrement dans ton navigateur — la bibliothèque est chargée à la demande et tes données ne quittent jamais la page — ce qui rend sûr le collage d’items réels d’une table de production.

Deux cas limites sont gérés explicitement. Les nombres au-delà de la plage d’entiers sûrs de JavaScript sont préservés sous forme de chaînes plutôt qu’arrondis silencieusement, et les valeurs d’attributs malformées — un type number portant du texte non numérique, par exemple — déclenchent une erreur claire au lieu d’être coercées en silence. L’objectif est une conversion fidèle à laquelle tu peux te fier, pas une approximation avec perte.

Tu débutes avec les tags de type ? Types de données DynamoDB passe en revue chaque type attribute-value avec des exemples.

Questions fréquentes

Qu’est-ce que le DynamoDB JSON ?

Le DynamoDB JSON (le format attribute-value) enveloppe chaque valeur dans un objet à une seule clé qui nomme son type : une chaîne est { "S": "abc" }, un nombre est { "N": "5" }, une liste est { "L": [...] }, une map est { "M": {...} }. L’API DynamoDB de bas niveau et des outils comme l’AWS CLI utilisent cette forme, tandis que le document client du SDK et la plupart du code applicatif utilisent du JSON brut. Ce convertisseur traduit entre les deux.

Pourquoi mon grand nombre devient-il une chaîne ?

DynamoDB stocke les nombres comme un type décimal à 38 chiffres sans limite de précision, mais JavaScript perd en précision au-delà de 2^53. Pour rester sans perte, un nombre supérieur à cette plage sûre est transporté sous forme de chaîne lors de la conversion de DynamoDB JSON vers du JSON brut. Coller un tel nombre comme nombre JSON brut nu déclenche en revanche une erreur, car il aurait déjà perdu en précision avant que cet outil ne le voie.

Puis-je convertir des sets et des valeurs binaires ?

Du DynamoDB JSON vers le JSON brut, oui — un String/Number/Binary Set devient un tableau et une valeur binaire devient une chaîne base64. Le sens inverse ne peut pas les déduire : le JSON brut n’a pas de type Set, donc un tableau se convertit toujours en List (L). Rédige les sets et les valeurs binaires directement du côté DynamoDB JSON.

Mes données quittent-elles le navigateur ?

Non. La conversion s’exécute entièrement côté client à l’aide de la bibliothèque de marshalling officielle d’AWS, chargée à la demande dans ton navigateur. Rien de ce que tu colles n’est envoyé à un serveur.

Travaille avec DynamoDB sans la Console

DynoTable est un client de bureau rapide pour DynamoDB — parcours les tables, exécute des requêtes de style SQL et édite les items en local.