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 } ] }