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.
Einstellung komplexer Attribute in Ihrem Lex V2-Bot
Sitzungs- und Anforderungsattribute sind string-to-string Zuordnungen von Attributen und Werten. In vielen Fällen können Sie mit der Zeichenfolgen-Zuordnung Attributwerte zwischen Ihrer Clientanwendung und einem Bot übertragen. In einigen Fällen müssen Sie jedoch möglicherweise binäre Daten oder eine komplexe Struktur übertragen, die schwer in eine Zeichenfolgen-Zuordnung konvertiert werden kann. Das folgende JSON Objekt stellt beispielsweise ein Array der drei bevölkerungsreichsten Städte in den Vereinigten Staaten dar:
{
"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"
}
}
]
}
Dieses Datenarray lässt sich nicht gut auf eine string-to-string Karte übertragen. In einem solchen Fall können Sie ein Objekt in eine einfache Zeichenfolge umwandeln, sodass Sie es mit den RecognizeUtteranceOperationen RecognizeTextund an Ihren Bot senden können.
Wenn Sie beispielsweise verwenden, können Sie die JSON.stringify
Operation verwenden JavaScript, um ein Objekt zu konvertierenJSON, und die JSON.parse
Operation, um JSON Text in ein JavaScript Objekt zu konvertieren:
// To convert an object to a string. var jsonString = JSON.stringify(
object
, null, 2); // To convert a string to an object. varobj
= JSON.parse(JSON string
);
Um Attribute mit der RecognizeUtterance
Operation zu senden, müssen Sie die Attribute base64-kodieren, bevor Sie sie dem Anforderungsheader hinzufügen, wie im folgenden JavaScript Code gezeigt:
var
encodedAttributes
= new Buffer(attributeString
).toString("base64");
Sie können binäre Daten an die Operationen RecognizeText
und RecognizeUtterance
senden, indem Sie die Daten zunächst in eine mit base64 kodierte Zeichenfolge konvertieren und diese Zeichenfolge dann als Wert in den Sitzungsattributen übermitteln:
"sessionAttributes" : {
"binaryData": "base64 encoded data
"
}