---
title: "JSON 편집 모드"
slug: "chatbot-chatbot-3-8"
tags: ["챗봇", "CLOVA Chatbot", "chatbot"]
updated: 2026-07-23T09:02:16Z
published: 2026-07-23T09:02:16Z
canonical: "guide-fin.ncloud-docs.com/chatbot-chatbot-3-8"
---

> ## Documentation Index
> Fetch the complete documentation index at: https://guide-fin.ncloud-docs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# JSON 편집 모드

CLOVA Chatbot에서 구현 가능한 JSON 입력 양식에 대해 설명합니다. JSON 편집 모드는 연속 답변 및 여러 필수 입력 사항을 채워야 하는 복잡한 답변 유형을 다른 대화로 복사할 때 활용할 수 있습니다. **[JSON 편집 모드]** 버튼을 클릭하면 JSON 구조의 데이터를 복사할 수 있고, 복사한 데이터를 다른 대화에 적용하면 복잡하게 설정된 답변 유형을 쉽게 복사할 수 있습니다.

## 기본 답변

JSON Structure 예시는 다음과 같습니다.

```
[
  {
    "component": {
      "type": "text",
      "data": {
        "description": "the answer of this query is test",
        "url": "http://www.example.com"
      }
    },
    "answerType": "TEXT"
  }
]
```

| 필드 | 타입 | 필수여부 | 설명 |
| --- | --- | --- | --- |
| component | object | true | support Text Component in the chatbot custom api specification v2 |
| component.type | string | true | text |
| component.data.description | string | true | answer |
| component.data.url | string | false | the hyperlink jump url (http://www.example.com ) |
| answerType | string | true | TEXT, means default answer |

## 멀티링크 답변

JSON Structure 예시는 다음과 같습니다.

```
[
  {
    "component": {
      "type": "template",
      "data": {
        "cover": {
          "type": "text",
          "data": {
            "description": "멀티링크의 답변 부분입니다."
          }
        },
        "contentTable": [
          [
            {
              "colSpan": 1,
              "rowSpan": 1,
              "data": {
                "type": "button",
                "title": "naver",
                "data": {
                  "type": "basic",
                  "action": {
                    "type": "link",
                    "data": {
                      "url": "https://www.naver.com/"
                    }
                  }
                }
              }
            }
          ],
          [
            {
              "colSpan": 1,
              "rowSpan": 1,
              "data": {
                "type": "button",
                "title": "google",
                "data": {
                  "type": "basic",
                  "action": {
                    "type": "link",
                    "data": {
                      "url": "https://www.google.com/"
                    }
                  }
                }
              }
            }
          ]
        ]
      }
    },
    "answerType": "MULTILINKS"
  }
]
```

| 필드 | 타입 | 필수여부 | 설명 |
| --- | --- | --- | --- |
| answerType | string | true | MULTILINKS, means multilink answer |
| component | jsonObject | true | support Template Component in the chatbot custom api specification v2, and template type only support Text + Buttons |

## 이미지 답변

JSON Structure 예시는 다음과 같습니다

```
[
  {
    "component": {
      "type": "carousel",
      "data": {
        "cards": [
          {
            "type": "image",
            "title": "첫 번째 캐로셀의 이미지 제목입니다.",
            "data": {
              "imageUrl": "https://www.image.com/image.png",
              "description": "첫 번째 캐로셀의 이미지 설명입니다."
            }
          },
          {
            "type": "image",
            "title": "두 번째 캐로셀의 이미지 제목입니다.",
            "data": {
              "imageUrl": "https://www.image.com/image.png",
              "description": "두 번째 캐로셀의 이미지 설명입니다."
            }
          }
        ]
      }
    },
    "answerType": "IMAGECARD"
  }
]
```

Field Introduce

| 필드 | 타입 | 필수여부 | 설명 |
| --- | --- | --- | --- |
| answerType | string | true | IMAGECARD, means image answer |
| component | jsonObject | true | support Image Component, Template Component, Carousel Component in the chatbot custom api specification v2. It depends on the number of Image Card and Button: 1. one image card, no button: Image Component; 2. one image card, with button: Template Component, and template type only support Image Component + Buttons; 3. multiple image card: Carousel Component, and carouse type support only images and template with image + buttons |

Image Field Introduce

| 필드 | 타입 | 필수여부 | 설명 |
| --- | --- | --- | --- |
| type | string | true | image |
| title | string | true | short bold text |
| data.imageUrl | string | true | image url, must be https url |
| data.description | string | false | details info of image |

## 객관식 답변

JSON Structure 예시는 다음과 같습니다.

```
[
  {
    "component": {
      "type": "text",
      "data": {
        "description": "#{객관식폼이름}"
      }
    },
    "answerType": "SINGLEFORM"
  }
]
```

| 필드 | 타입 | 필수여부 | 설명 |
| --- | --- | --- | --- |
| answerType | string | true | SINGLEFORM, means multiple choice answer |
| component | object | true | support Text Component in the chatbot custom api specification v2 |
| component.type | string | true | Text |
| component.data.description | string | true | String1 true form name，wrap with # and {} #{formName} |

## 연속 답변

연속 답변의 경우 최대 5개의 말풍선을 추가할 수 있습니다. JSON Structure 예시는 다음과 같습니다.

```
 [
  {
    "component": {
      "type": "text",
      "data": {
        "description": "답변 예시입니다.",
        "url": "http://www.example.com"
      }
    },
    "answerType": "TEXT"
  },
  {
    "component": {
      "type": "text",
      "data": {
        "description": "#{객관식 폼 이름}"
      }
    },
    "answerType": "SINGLEFORM"
  }
]
```

Field Introduce In the array data( array[jsonObject] )，each json object represents a bubble, multiple bubbles correspond to multiple json objects.

## Flex 메시지 답변

메신저를 LINE으로 설정한 경우, Flex 메시지 답변을 지원합니다. JSON Structure 예시는 다음과 같습니다.

```
[
  {
    "component": {
      "type": "flex",
      "title": "Flex 답변입니다.",
      "data": {
        "type": "bubble",
        "hero": {
          "type": "image",
          "url": "https://scdn.line-apps.com/n/channel_devcenter/img/fx/01_1_cafe.png",
          "size": "full",
          "aspectRatio": "20:13",
          "aspectMode": "cover"
        },
        "body": {
          "type": "box",
          "layout": "vertical",
          "contents": [
            {
              "type": "text",
              "text": "Brown Cafe",
              "weight": "bold",
              "size": "xl"
            }
          ]
        },
        "footer": {
          "type": "box",
          "layout": "vertical",
          "spacing": "sm",
          "contents": [
            {
              "type": "button",
              "style": "link",
              "height": "sm",
              "action": {
                "type": "uri",
                "label": "CALL",
                "uri": "https://linecorp.com"
              }
            },
            {
              "type": "spacer",
              "size": "sm"
            }
          ],
          "flex": 0
        }
      }
    },
    "answerType": "FLEXMESSAGE"
  }
]
```

| 필드 | 타입 | 필수여부 | 설명 |
| --- | --- | --- | --- |
| answerType | string | true | FLEXMESSAGE, means flex message answer |
| component | object | true | support LINE Flex in the chatbot custom api specification v2 |

## LINE 스티커 답변

메신저를 LINE으로 설정한 경우, LINE 스티커 답변을 지원합니다. JSON Structure 예시는 다음과 같습니다.

```
[
  {
    "component": {
      "type": "line_sticker",
      "data": {
        "packageId": "11537",
        "stickerId": "52002734"
      }
    },
    "answerType": "STICKER"
  }
]
```

| 필드 | 타입 | 필수여부 | 설명 |
| --- | --- | --- | --- |
| answerType | string | true | STICKER, means LINE sticker answer |
| component | object | true | support Line Sticker in the chatbot custom api specification v2 |
