

La AWS SDK per .NET V3 è entrata in modalità manutenzione.

[Ti consigliamo di migrare alla V4.AWS SDK per .NET](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/welcome.html) Per ulteriori dettagli e informazioni su come eseguire la migrazione, consulta il nostro annuncio sulla modalità di [manutenzione](https://aws.amazon.com/blogs/developer/aws-sdk-for-net-v3-maintenance-mode-announcement/).

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à.

# Supporto JSON in Amazon DynamoDB
<a name="dynamodb-json"></a>

**Nota**  
Le informazioni contenute in questo argomento si riferiscono specificamente ai progetti basati su.NET Framework e alla AWS SDK per .NET versione 3.3 e precedenti.

 AWS SDK per .NET Supporta i dati JSON quando si lavora con Amazon DynamoDB. Ciò consente di ottenere più facilmente dati in formato JSON e di inserire documenti JSON nelle tabelle DynamoDB.

**Topics**
+ [Ottieni dati da una tabella DynamoDB in formato JSON](#dynamodb-json-get-table-data)
+ [Inserimento di dati in formato JSON in una tabella DynamoDB](#dynamodb-json-insert-table-data)
+ [Conversioni dei tipi di dati DynamoDB in JSON](#dynamodb-json-datatypes)
+ [Ulteriori informazioni](#dynamodb-json-more-info)

## Ottieni dati da una tabella DynamoDB in formato JSON
<a name="dynamodb-json-get-table-data"></a>

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 metodo `ToJson` della classe `Document` converte un elemento della tabella in una stringa in formato 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 in formato JSON in una tabella DynamoDB
<a name="dynamodb-json-insert-table-data"></a>

L'esempio seguente mostra come utilizzare il formato JSON 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 metodo `FromJson` della classe `Document` converte una stringa in formato JSON 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 dei tipi di dati DynamoDB in JSON
<a name="dynamodb-json-datatypes"></a>

Ogni volta che si chiama il `ToJson` metodo della `Document` classe e quindi sui dati JSON risultanti si chiama il `FromJson` metodo per riconvertire i dati JSON in un'istanza di una `Document` classe, alcuni tipi di dati DynamoDB non verranno convertiti come previsto. Nello specifico:
+ I set DynamoDB (`SS`i tipi`NS`, `BS` e) verranno convertiti in array JSON.
+ Gli scalari e i set binari di DynamoDB (`B`i tipi `BS` and) verranno convertiti in stringhe o elenchi di stringhe JSON con codifica Base64.

  In questo scenario, devi chiamare il metodo `DecodeBase64Attributes` della classe `Document` per sostituire i dati JSON con codifica base64 con la corretta rappresentazione binaria. L'esempio seguente sostituisce un attributo dell'elemento scalare binario con codifica base64 in un'istanza di una classe `Document`, denominato `Picture`, 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 classe `Document`, denominato `RelatedPictures`:

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

## Ulteriori informazioni
<a name="dynamodb-json-more-info"></a>

Per ulteriori informazioni ed esempi di programmazione JSON con DynamoDB con, vedi: AWS SDK per .NET
+  [Supporto JSON in DynamoDB](https://aws.amazon.com/blogs/developer/dynamodb-json-support/) 
+  [Aggiornamento di Amazon DynamoDB - JSON, piano gratuito ampliato, dimensionamento flessibile, elementi più grandi](https://aws.amazon.com/blogs/aws/dynamodb-update-json-and-more/) 