Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
JSONsupporto in Amazon DynamoDB
Nota
Le informazioni contenute in questo argomento sono specifiche per i progetti basati su. NETFramework e la AWS SDK for .NET versione 3.3 e precedenti.
AWS SDK for .NET Supporta i JSON dati quando si lavora con Amazon DynamoDB. Ciò consente di ottenere più facilmente dati JSON formattati dalle tabelle DynamoDB e di inserire JSON documenti nelle tabelle DynamoDB.
Argomenti
Ottieni dati da una tabella DynamoDB in formato JSON
L'esempio seguente mostra come ottenere dati da una tabella DynamoDB in formato: 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 // }
Nell'esempio precedente, il ToJson
metodo della Document
classe converte un elemento dalla tabella in una stringa formattata. JSON L'elemento viene recuperato con il metodo GetItem
della classe Table
. Per determinare l'elemento da ottenere, in questo esempio, il GetItem
metodo utilizza la chiave hash-and-range primaria dell'elemento di destinazione. Per determinare la tabella da cui ottenere l'elemento, il LoadTable
metodo della Table
classe utilizza un'istanza della AmazonDynamoDBClient
classe e il nome della tabella di destinazione in DynamoDB.
Inserimento di dati di JSON formato in una tabella DynamoDB
L'esempio seguente mostra come utilizzare il JSON formato per inserire un elemento in una tabella 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);
Nell'esempio precedente, il FromJson
metodo della Document
classe converte una stringa in JSON formato -in un elemento. L'elemento viene inserito nella tabella con il metodo PutItem
della classe Table
, che utilizza l'istanza della classe Document
che contiene l'elemento. Per determinare la tabella in cui inserire l'elemento, viene chiamato il LoadTable
metodo della Table
classe, specificando un'istanza della AmazonDynamoDBClient
classe e il nome della tabella di destinazione in DynamoDB.
Conversioni di tipi di dati DynamoDB in JSON
Ogni volta che si chiama il ToJson
metodo della Document
classe e quindi sui JSON dati risultanti si richiama il FromJson
metodo per riconvertire i JSON dati in un'istanza di una Document
classe, alcuni tipi di dati DynamoDB non verranno convertiti come previsto. Nello specifico:
-
I set DynamoDB (
SS
i tipiNS
,BS
e) verranno convertiti in array. JSON -
Gli scalari e i set binari di DynamoDB (
B
i tipiBS
e) verranno convertiti in stringhe o elenchi di stringhe con JSON codifica Base64.In questo scenario, è necessario chiamare il
DecodeBase64Attributes
metodo dellaDocument
classe per sostituire i dati codificati in base64 con la rappresentazione binaria corretta. JSON L'esempio seguente sostituisce un attributo dell'elemento scalare binario con codifica base64 in un'istanza di una classeDocument
, denominatoPicture
, con la corretta rappresentazione binaria. In questo esempio viene eseguita la stessa operazione per un attributo dell'elemento di un set binario con codifica base64 nella stessa istanza della classeDocument
, denominatoRelatedPictures
:item.DecodeBase64Attributes("Picture", "RelatedPictures");
Ulteriori informazioni
Per ulteriori informazioni ed esempi di programmazione JSON con DynamoDB con AWS SDK for .NET, vedere: