Uso de JSON - AWS SDK for JavaScript

Anunciamos el próximo fin del soporte para AWS SDK for JavaScript v2. Se recomienda que migre a AWS SDK for JavaScript v3. Para ver las fechas, los detalles adicionales y la información sobre cómo realizar la migración, consulte el anuncio enlazado.

Uso de JSON

JSON es un formato para el intercambio de datos que pueden leer tanto humanos como las máquinas. Aunque el nombre JSON es el acrónimo de JavaScript Object Notation (notación de objetos JavaScript), el formato de JSON es independiente de cualquier lenguaje de programación.

El SDK para JavaScript utiliza JSON para enviar datos a objetos de servicio cuando realiza solicitudes y recibe datos de objetos de servicio como JSON. Para obtener más información sobre JSON, consulte json.org.

Presentación del formato y las partes generales de JSON.

JSON representa los datos de dos formas:

  • Un objeto, que es una colección sin ordenar de pares de nombre-valor. Un objeto se define entre las llaves izquierda ({) y derecha (}). Cada par de nombre-valor comienza por el nombre, seguido de dos puntos, seguido del valor. Los pares de nombre-valor están separados por comas.

  • Una matriz, que es una colección ordenada de valores. Una matriz se define entre los corchetes izquierdo ([) y derecho (]). Los elementos de la matriz están separados por comas.

A continuación, se muestra un ejemplo de un objeto JSON que contiene una matriz de objetos en la que los objetos representan las naipes de un juego de cartas. Cada carta está definida con dos pares de nombre-valor, uno que especifica un valor único para identificar la carta y otra que especifica una dirección URL que apunta a la imagen de la carta correspondiente.

var cards = [{"CardID":"defaultname", "Image":"defaulturl"}, {"CardID":"defaultname", "Image":"defaulturl"}, {"CardID":"defaultname", "Image":"defaulturl"}, {"CardID":"defaultname", "Image":"defaulturl"}, {"CardID":"defaultname", "Image":"defaulturl"}];

Parámetros de JSON como objeto de servicio

A continuación, se muestra un ejemplo de JSON sencillo que se utiliza para definir los parámetros de una llamada a un objeto de servicio de Lambda.

var pullParams = { FunctionName : 'slotPull', InvocationType : 'RequestResponse', LogType : 'None' };

El objeto pullParams se define mediante tres pares de nombre-valor, separados por comas e incluidos entre llaves (izquierda y derecha). Cuando se proporcionan parámetros a una llamada de método de objeto de servicio, los nombres se determinan mediante nombres de parámetros para el método de objeto de servicio al que tiene previsto llamar. Al invocar una función de Lambda, FunctionName, InvocationType y LogType son los parámetros que se utilizan para llamar al método invoke de un objeto de servicio de Lambda.

Cuando transfiera parámetros a una llamada de método de objeto de servicio, proporcione el objeto JSON a la llamada al método, tal y como se muestra en el siguiente ejemplo de invocación a una función de Lambda.

lambda = new AWS.Lambda({region: 'us-west-2', apiVersion: '2015-03-31'}); // create JSON object for service call parameters var pullParams = { FunctionName : 'slotPull', InvocationType : 'RequestResponse', LogType : 'None' }; // invoke Lambda function, passing JSON object lambda.invoke(pullParams, function(err, data) { if (err) { console.log(err); } else { console.log(data); } });

Devolución de datos como JSON

JSON ofrece una forma estándar de transferir datos entre partes de una aplicación que necesitan enviar varios valores al mismo tiempo. Los métodos de clases de cliente en la API suelen devolver JSON en el parámetro data que se transfiere a sus funciones de devolución de llamada. Por ejemplo, a continuación se muestra una llamada al método getBucketCors de la clase de cliente de Amazon S3.

// call S3 to retrieve CORS configuration for selected bucket s3.getBucketCors(bucketParams, function(err, data) { if (err) { console.log(err); } else if (data) { console.log(JSON.stringify(data)); } });

El valor de data es un objeto JSON; en este ejemplo, JSON que describe la configuración CORS actual para un bucket de Amazon S3 especificado.

{ "CORSRules": [ { "AllowedHeaders":["*"], "AllowedMethods":["POST","GET","PUT","DELETE","HEAD"], "AllowedOrigins":["*"], "ExposeHeaders":[], "MaxAgeSeconds":3000 } ] }