Anunciamos
Trabalhar com o JSON
JSON é um formato de intercâmbio de dados capaz de ser lido por humanos e por máquina. Embora o nome JSON seja acrônimo de JavaScript Object Notation, o formato do JSON independe de qualquer linguagem de programação.
O SDK usa JSON para enviar dados para objetos de serviço ao fazer solicitações e recebe dados de objetos de serviço como JSON. Para mais informações sobre JSON, consulte json.org
JSON representa dados de duas formas:
Um objeto, que é uma coleção não ordenada de pares de nome/valor. Um objeto é definido dentro das chaves esquerda (
{
) e direita (}
). Cada par de nome e valor começa com o nome seguido por uma vírgula seguido pelo valor. O pares de nome/valor são separados por vírgulas.Uma matriz, que é uma coleção ordenada de valores. Um array é definido dentro dos colchetes esquerdo (
[
) e direito (]
). Os itens no array são separados por vírgulas.
Aqui está um exemplo de um objeto JSON que contém um array de objetos em que os objetos representam as cartas de um baralho. Cada carta é definida por dois pares de nome/valor: um que especifica um valor exclusivo para identificar que essa carta e outro que especifica um URL que aponta para a imagem da carta correspondente.
var cards = [{"CardID":"defaultname", "Image":"defaulturl"}, {"CardID":"defaultname", "Image":"defaulturl"}, {"CardID":"defaultname", "Image":"defaulturl"}, {"CardID":"defaultname", "Image":"defaulturl"}, {"CardID":"defaultname", "Image":"defaulturl"}];
JSON como parâmetros do objeto de serviço
Veja a seguir um exemplo de JSON simples usado para definir os parâmetros de uma chamada para um objeto de serviço do Lambda.
var pullParams = { FunctionName : 'slotPull', InvocationType : 'RequestResponse', LogType : 'None' };
O objeto pullParams
é definido por três pares de nome/valor, separados por vírgulas, dentro das chaves esquerda e direita. Ao fornecer parâmetros para uma chamada do método do objeto de serviço, os nomes são determinados pelos nomes de parâmetro do método do objeto de serviço que você pretende chamar. Ao invocar uma função do Lambda, FunctionName
, InvocationType
e LogType
são os parâmetros usados para chamar o método invoke
em um objeto de serviço do Lambda.
Ao passar os parâmetros para uma chamada do método do objeto de serviço, forneça o objeto JSON para a chamada de método, conforme mostrado no exemplo a seguir de como invocar uma função do 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); } });
Retornar dados como JSON
O JSON fornece uma maneira padrão para passar dados entre partes de um aplicativo que precisa enviar vários valores ao mesmo tempo. Os métodos das classes de clientes na API comumente retornam JSON no parâmetro data
passado para suas funções de retorno de chamada. Por exemplo, aqui está uma chamada para o método getBucketCors
da classe de cliente 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)); } });
O valor de data
é um objeto JSON. Neste exemplo, JSON que descreve a configuração atual de CORS para um bucket especificado do Amazon S3.
{ "CORSRules": [ { "AllowedHeaders":["*"], "AllowedMethods":["POST","GET","PUT","DELETE","HEAD"], "AllowedOrigins":["*"], "ExposeHeaders":[], "MaxAgeSeconds":3000 } ] }