JSONsupport dans Amazon DynamoDB - AWS SDK for .NET

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

JSONsupport dans Amazon DynamoDB

Note

Les informations contenues dans cette rubrique sont spécifiques aux projets basés sur. NETFramework et AWS SDK for .NET versions 3.3 et antérieures.

Les JSON données de AWS SDK for .NET support lorsque vous travaillez avec Amazon DynamoDB. Cela vous permet d'obtenir plus facilement des données JSON mises en forme à partir de tables DynamoDB et d'y insérer JSON des documents.

Obtenir les données d'une table DynamoDB au format JSON

L'exemple suivant montre comment obtenir des données au format d'une table DynamoDB : JSON

// using Amazon.DynamoDBv2; // using Amazon.DynamoDBv2.DocumentModel; var client = new AmazonDynamoDBClient(); var table = Table.LoadTable(client, "AnimalsInventory"); var item = table.GetItem(3, "Horse"); var jsonText = item.ToJson(); Console.Write(jsonText); // Output: // {"Name":"Shadow","Type":"Horse","Id":3} var jsonPrettyText = item.ToJsonPretty(); Console.WriteLine(jsonPrettyText); // Output: // { // "Name" : "Shadow", // "Type" : "Horse", // "Id" : 3 // }

Dans l'exemple précédent, la ToJson méthode de la Document classe convertit un élément du tableau en une chaîne JSON formatée. La méthode GetItem de la classe Table permet de récupérer cet élément. Pour déterminer l'élément à obtenir, dans cet exemple, la GetItem méthode utilise la clé hash-and-range primaire de l'élément cible. Pour déterminer la table à partir de laquelle obtenir l'élément, la LoadTable méthode de la Table classe utilise une instance de la AmazonDynamoDBClient classe et le nom de la table cible dans DynamoDB.

Insérer des données de JSON format dans une table DynamoDB

L'exemple suivant montre comment utiliser le JSON format pour insérer un élément dans une table DynamoDB :

// using Amazon.DynamoDBv2; // using Amazon.DynamoDBv2.DocumentModel; var client = new AmazonDynamoDBClient(); var table = Table.LoadTable(client, "AnimalsInventory"); var jsonText = "{\"Id\":6,\"Type\":\"Bird\",\"Name\":\"Tweety\"}"; var item = Document.FromJson(jsonText); table.PutItem(item);

Dans l'exemple précédent, la FromJson méthode de la Document classe convertit une chaîne JSON formatée en élément. L'élément est inséré dans la table par l'intermédiaire de la méthode PutItem de la classe Table, qui utilise l'instance de la classe Document contenant l'élément. Pour déterminer la table dans laquelle insérer l'élément, la LoadTable méthode de la Table classe est appelée, en spécifiant une instance de la AmazonDynamoDBClient classe et le nom de la table cible dans DynamoDB.

Conversions des types de données DynamoDB vers JSON

Chaque fois que vous appelez la ToJson méthode de la Document classe, puis que, sur les JSON données obtenues, vous appelez la FromJson méthode pour reconvertir les JSON données en instance de Document classe, certains types de données DynamoDB ne sont pas convertis comme prévu. En particulier :

  • Les ensembles DynamoDB (SSles typesNS, BS et) seront convertis en tableaux. JSON

  • Les scalaires et ensembles binaires DynamoDB (Bles types BS et) seront convertis en chaînes codées en JSON base64 ou en listes de chaînes.

    Dans ce scénario, vous devez appeler la DecodeBase64Attributes méthode de la Document classe pour remplacer les JSON données codées en base64 par la représentation binaire correcte. L'exemple suivant remplace par la représentation binaire correcte un attribut d'élément binary scalar codé en base64 dans une instance d'une classe Document nommée Picture. Cet exemple procède de même pour un attribut d'élément binary set codé en base64 dans la même instance de la classe Document nommée RelatedPictures :

    item.DecodeBase64Attributes("Picture", "RelatedPictures");

Plus d'informations

Pour plus d'informations et des exemples de programmation JSON avec DynamoDB avec AWS SDK for .NET le, voir :