

 [AWS SDK for JavaScript V3 API 참조 안내서](https://docs.aws.amazon.com/AWSJavaScriptSDK/v3/latest/)는 AWS SDK for JavaScript 버전 3(V3)의 모든 API 작업을 자세히 설명합니다.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# JSON 작업
<a name="working-with-json"></a>

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

는 요청을 할 때 JSON을 AWS SDK for JavaScript 사용하여 서비스 객체로 데이터를 전송하고 서비스 객체에서 JSON으로 데이터를 수신합니다. JSON에 대한 자세한 내용은 [json.org](https://json.org)를 참조하세요.

![\[JSON의 일반적인 형식 및 부분 표시\]](http://docs.aws.amazon.com/ko_kr/sdk-for-javascript/v3/developer-guide/images/json-format.png)


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
<a name="json-as-parameters-passed"></a>

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

```
const params = {
   FunctionName : funcName,
   Payload : JSON.stringify(payload),
   LogType : LogType.Tail,
};
```

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

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

```
const invoke = async (funcName, payload) => {
  const client = new LambdaClient({});
  const command = new InvokeCommand({
    FunctionName: funcName,
    Payload: JSON.stringify(payload),
    LogType: LogType.Tail,
  });

  const { Payload, LogResult } = await client.send(command);
  const result = Buffer.from(Payload).toString();
  const logs = Buffer.from(LogResult, "base64").toString();
  return { logs, result };
};
```