JSON 작업 - AWS SDK for JavaScript

AWS SDK for JavaScript v2가 지원 종료에 도달했습니다. AWS SDK for JavaScript v3로 마이그레이션하실 것을 권장합니다. 마이그레이션 방법에 대한 자세한 내용은 해당 공지 사항을 참조하세요.

JSON 작업

JSON은 인간 및 머신 둘 다 판독 가능한 데이터를 교환하기 위한 형식입니다. JSON이라는 이름이 JavaScript Object Notation의 약어이긴 하지만 JSON의 형식은 프로그래밍 언어와 관련이 없습니다.

SDK for JavaScript에서는 JSON을 사용하여 요청 시 서비스 객체에 데이터를 전송하고 서비스 객체에서 데이터를 JSON으로 수신합니다. JSON에 대한 자세한 내용은 json.org를 참조하세요.

JSON의 일반적인 형식 및 부분 표시

JSON은 다음 두 가지 방식으로 데이터를 나타냅니다.

  • 객체: 순서가 지정되지 안은 이름-값 쌍 모음. 객체는 여는 중괄호({)와 닫는 중괄호(}) 내에서 정의됩니다. 각 이름-값 쌍은 이름으로 시작하고 뒤에 콜론과 값이 옵니다. 이름-값 페어는 쉼표로 구분됩니다.

  • 배열: 순서가 지정된 값 모음. 배열은 여는 대괄호([)와 닫는 대괄호(]) 안에 정의됩니다. 배열의 항목들은 쉼표로 구분됩니다.

다음은 객체가 카드 게임의 카드로 표현되는 객체 배열이 포함된 JSON 객체의 예입니다. 각 카드는 두 개의 이름-값 페어로 정의되는데, 하나는 하드를 식별하기 위한 고유한 값을 지정하고, 다른 하나는 해당하는 카드 이미지를 가리키는 URL을 지정합니다.

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

서비스 객체 파라미터로서 JSON

다음은 Lambda 서비스 객체에 대한 호출의 파라미터를 정의하는 데 사용되는 간단한 JSON의 예입니다.

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

pullParams 객체는 여는 중괄호와 닫는 중괄호 내에서 쉼표로 구분된 이름-값 페어 3개로 정의됩니다. 서비스 객체 메서드에 파라미터를 제공하는 경우 이름은 호출하려는 서비스 객체 메서드에 대한 파라미터 이름으로 결정됩니다. Lambda 함수를 간접적으로 호출할 때 FunctionName, InvocationType, LogType은 Lambda 서비스 객체에서 invoke 메서드를 직접적으로 호출하는 데 사용되는 파라미터입니다.

서비스 객체 메서드 호출에 파라미터를 전달할 때 Lambda 함수를 호출하는 다음 예와 같이 메서드 호출에 JSON 객체를 제공합니다.

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); } });

JSON으로 데이터 반환

JSON에서는 동시에 여러 값을 전송해야 하는 애플리케이션의 부분 간에 데이터를 전달하는 표준 방식을 제공합니다. API 내 클라이언트 클래스의 메서드는 일반적으로 콜백 함수로 전달되는 data 파라미터에 JSON을 반환합니다. 예를 들어, 다음은 Amazon S3 클라이언트 클래스의 getBucketCors 메서드에 대한 호출입니다.

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

data의 값은 JSON 객체이며 이 예에서는 지정된 Amazon S3 버킷에 대한 현재 CORS 구성을 설명하는 JSON입니다.

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