

Der AWS SDK für .NET V3 ist in den Wartungsmodus übergegangen.

Wir empfehlen Ihnen, auf [AWS SDK für .NET V4](https://docs.aws.amazon.com/sdk-for-net/v4/developer-guide/welcome.html) zu migrieren. Weitere Einzelheiten und Informationen zur Migration finden Sie in unserer [Ankündigung zum Wartungsmodus](https://aws.amazon.com/blogs/developer/aws-sdk-for-net-v3-maintenance-mode-announcement/).

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# JSON-Unterstützung in Amazon DynamoDB
<a name="dynamodb-json"></a>

**Anmerkung**  
Die Informationen in diesem Thema beziehen sich speziell auf Projekte, die auf .NET Framework und AWS SDK für .NET Version 3.3 und früher basieren.

Das AWS SDK für .NET unterstützt JSON-Daten bei der Arbeit mit Amazon DynamoDB. Auf diese Weise können Sie einfacher JSON-formatierte Daten aus DynamoDB-Tabellen abrufen und JSON-Dokumente in DynamoDB-Tabellen einfügen.

**Topics**
+ [Daten aus einer DynamoDB-Tabelle im JSON-Format abrufen](#dynamodb-json-get-table-data)
+ [Daten im JSON-Format in eine DynamoDB-Tabelle einfügen](#dynamodb-json-insert-table-data)
+ [DynamoDB-Datentypkonvertierungen nach JSON](#dynamodb-json-datatypes)
+ [Weitere Infos](#dynamodb-json-more-info)

## Daten aus einer DynamoDB-Tabelle im JSON-Format abrufen
<a name="dynamodb-json-get-table-data"></a>

Das folgende Beispiel zeigt, wie Daten aus einer DynamoDB-Tabelle im JSON-Format abgerufen werden:

```
// 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
//   }
```

Im vorherigen Beispiel wird ein Element aus der Tabelle mithilfe der `ToJson`-Methode der `Document`-Klasse in eine Zeichenfolge im JSON-Format konvertiert. Das Element wird durch die `GetItem`-Methode der `Table`-Klasse abgerufen. Um das abzurufende Element zu bestimmen, verwendet die `GetItem` Methode in diesem Beispiel den hash-and-range Primärschlüssel des Zielelements. Um die Tabelle zu ermitteln, aus der das Element abgerufen werden soll, verwendet die `LoadTable` Methode der `Table` Klasse eine Instanz der `AmazonDynamoDBClient` Klasse und den Namen der Zieltabelle in DynamoDB.

## Daten im JSON-Format in eine DynamoDB-Tabelle einfügen
<a name="dynamodb-json-insert-table-data"></a>

Das folgende Beispiel zeigt, wie das JSON-Format verwendet wird, um ein Element in eine DynamoDB-Tabelle einzufügen:

```
// 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);
```

Im vorherigen Beispiel wird eine Zeichenfolge im JSON-Format mithilfe der `FromJson`-Methode der `Document`-Klasse in ein Element konvertiert. Das Einfügen des Elements in die Tabelle erfolgt mithilfe der `PutItem`-Methode der `Table`-Klasse, die eine Instance der `Document`-Klasse verwendet, die das Element enthält. Um die Tabelle zu bestimmen, in die das Element eingefügt werden soll, wird die `LoadTable` Methode der `Table` Klasse aufgerufen, wobei eine Instanz der `AmazonDynamoDBClient` Klasse und der Name der Zieltabelle in DynamoDB angegeben werden.

## DynamoDB-Datentypkonvertierungen nach JSON
<a name="dynamodb-json-datatypes"></a>

Immer wenn Sie die `ToJson` Methode der `Document` Klasse aufrufen und dann für die resultierenden JSON-Daten die `FromJson` Methode aufrufen, um die JSON-Daten wieder in eine Instanz einer `Document` Klasse zu konvertieren, werden einige DynamoDB-Datentypen nicht wie erwartet konvertiert. Das heißt:
+ DynamoDB-Sets (die `BS` Typen `SS``NS`, und) werden in JSON-Arrays konvertiert.
+ DynamoDB-Binärskalare und -mengen (die `BS` Typen `B` und) werden in Base64-kodierte JSON-Zeichenfolgen oder Zeichenkettenlisten konvertiert.

  In diesem Szenario müssen Sie die `DecodeBase64Attributes`-Methode der `Document`-Klasse aufrufen, um die base64-verschlüsselten JSON-Daten durch die korrekte binäre Darstellung zu ersetzen. Im folgenden Beispiel wird ein base64-verschlüsseltes binärskalares Elementattribut in eine Instance einer `Document`-Klasse namens `Picture` durch die korrekte binäre Darstellung ersetzt. In diesem Beispiel wird dasselbe auch für ein base64-verschlüsseltes Binärsatzelementattribut in derselben Instance der `Document`-Klasse namens `RelatedPictures` ausgeführt:

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

## Weitere Infos
<a name="dynamodb-json-more-info"></a>

Weitere Informationen und Beispiele für die Programmierung von JSON mit DynamoDB mit dem finden Sie unter AWS SDK für .NET:
+  [JSON-Unterstützung in DynamoDB](https://aws.amazon.com/blogs/developer/dynamodb-json-support/) 
+  [Amazon DynamoDB-Aktualisierungen - JSON, Erweitertes kostenloses Kontingent, Flexible Skalierung, Größere Elemente](https://aws.amazon.com/blogs/aws/dynamodb-update-json-and-more/) 