

Avviso di fine del supporto: il 15 settembre 2025 AWS interromperà il supporto per Amazon Lex V1. Dopo il 15 settembre 2025, non potrai più accedere alla console di Amazon Lex V1 o alle risorse di Amazon Lex V1. Se utilizzi Amazon Lex V2, consulta invece la [guida Amazon Lex V2](https://docs.aws.amazon.com/lexv2/latest/dg/what-is.html). 

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

# Impostazione di attributi complessi
<a name="context-mgmt-complex-attributes"></a>

Gli attributi di sessione e richiesta sono string-to-string mappe di attributi e valori. In molti casi puoi utilizzare la mappa stringa per trasferire i valori degli attributi tra l'applicazione client e un bot, mentre in alcuni casi potresti dover trasferire i dati binari o una struttura complessa che non può essere convertita facilmente in una mappa stringa. Ad esempio, il seguente oggetto JSON rappresenta una matrice delle città più popolose degli Stati Uniti:

```
{
   "cities": [
      {
         "city": {
            "name": "New York",
            "state": "New York",
            "pop": "8537673"
         }
      },
      {
         "city": {
            "name": "Los Angeles",
            "state": "California",
            "pop": "3976322"
         }
      },
      {
         "city": {
            "name": "Chicago",
            "state": "Illinois",
            "pop": "2704958"
         }
      }
   ]
}
```

Questa serie di dati non si traduce bene in una string-to-string mappa. In questo caso, puoi trasformare un oggetto in una stringa semplice per poterla inviare al tuo bot con le operazioni [PostContent](API_runtime_PostContent.md) e [PostText](API_runtime_PostText.md). 

Ad esempio, se si utilizza JavaScript, è possibile utilizzare l'`JSON.stringify`operazione per convertire un oggetto in JSON e l'`JSON.parse`operazione per convertire il testo JSON in un JavaScript oggetto:

```
// To convert an object to a string.
var jsonString = JSON.stringify(object, null, 2);
// To convert a string to an object.
var obj = JSON.parse(JSON string);
```

Per inviare gli attributi di sessione con l'`PostContent`operazione, è necessario codificare gli attributi in base64 prima di aggiungerli all'intestazione della richiesta, come illustrato nel codice seguente: JavaScript

```
var encodedAttributes = new Buffer(attributeString).toString("base64");
```

Puoi inviare i dati binari alle operazioni `PostContent` e `PostText` convertendo dapprima i dati in una stringa con codifica base64, quindi inviando la stringa come valore negli attributi di sessione:

```
"sessionAttributes" : {
   "binaryData": "base64 encoded data"
}
```