표준국어대사전 API 이용 (Unity, C#)

2022. 8. 19. 21:00·게임개발/Unity

Unity에서 표준국어대사전 API를 이용하는 방법에 알아보겠습니다.

 

먼저 표준국어대사전 API사이트에서 회원가입을 한 후, 오픈 API 사용 신청을 해야 합니다.

 

 

 

회원가입 후, 오픈 API 사용 예시를 통해 어떤 식으로 데이터가 나오는지 볼 수 있습니다.

 

 

사전 데이터는 API 종류, 요청 변수, 검색방식, 검색어 등의 분류에 따라 다르게 나옵니다.

 

위 값에 따라 변수를 다르게 설정하므로 사전에 어떤 데이터를 이용할 것인지를 정해야 합니다.

 

저는 여기서 사전 내용, json, 타겟코드, 그리고 검색어(타겟코드 번호)은 랜덤으로 넣어 처리하겠습니다.

 

API로 데이터를 받아오는 스크립트는 다음과 같습니다.

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Networking;

public class UsingAPI : MonoBehaviour{
    int randN;
    string jsonResult, currentWord;
    string apiKey = "사이트에서 발급받은 키값", methodType = "&type_search=view&req_type=json&method=TARGET_CODE&q=";
    string[] strs;
    private void Start()
    {
        StartCoroutine(LoadData());
    }

    IEnumerator LoadData()
    {
    	randN = Random.Range(1, 550000);
        //데이터를 불러올 API url 선언
        string GetDataUrl = "https://stdict.korean.go.kr/api/view.do?certkey_no=4017&key=" + apiKey + methodType + randN.ToString();
        using (UnityWebRequest www = UnityWebRequest.Get(GetDataUrl))
        {
            //request 전송
            yield return www.SendWebRequest();
            //실패하면
            if (www.result == UnityWebRequest.Result.ConnectionError || www.result == UnityWebRequest.Result.ProtocolError)
            {
            	//에러내용 출력 및 다시 시도
                Debug.Log(www.error);
                StartCoroutine(LoadData());
            }
            //성공하면
            else
            {
            	//작업이 끝나면
                if (www.isDone)
                {
                    //데이터 타입 변환 (UTF8 byte[] -> string)
                    jsonResult = System.Text.Encoding.UTF8.GetString(www.downloadHandler.data);
                }
            }
        }
    }
}

 

apiKey에 발급받은 키 값을 넣어주고 methodType에는 사전 내용, json, 타겟 코드를 의미하는 "&type_search=view&req_type=json&method=TARGET_CODE&q="을 넣어줍니다.

 

이후 LoadData 부분에서 랜덤 타겟 코드를 넣은 후 사이트로부터 데이터를 가져옵니다.

데이터를 성공적으로 가져오면 이를 수정하기 쉽게 string타입으로 변환합니다.

 

아래는 실제 데이터 예시입니다.

 

 

여기까지가 Unity에서 표준국어대사전 API를 호출하여 데이터를 가져오는 방법입니다.

사전 검색 API나 xml데이터로 받고 싶으시면 methodType 부분을 수정하여 사용하면 됩니다.

 

ex) 사전 검색, xml, 나무 -> "&type_search=search&req_type=xml&q=나무"

 

다른 종류는 오픈 API 예시를 사용해가면서 알아보실 수 있습니다.

 

 

저작자표시 (새창열림)

'게임개발 > Unity' 카테고리의 다른 글

[Unity] NetworkVariable, INetworkSerializable Synchronization Problem  (0) 2025.06.05
[Unity] StopCoroutine, 코루틴 중지시키기  (3) 2025.06.03
[Unity] Button OnClick Event is triggered twice  (0) 2024.08.26
[Unity] 마우스 커서 숨기기, 마우스 화면 고정(cursor visible, cursor lock)  (1) 2023.12.17
Unity User SSA CL Certificate Error  (0) 2022.08.15
'게임개발/Unity' 카테고리의 다른 글
  • [Unity] StopCoroutine, 코루틴 중지시키기
  • [Unity] Button OnClick Event is triggered twice
  • [Unity] 마우스 커서 숨기기, 마우스 화면 고정(cursor visible, cursor lock)
  • Unity User SSA CL Certificate Error
깜냥c
깜냥c
게임 개발/클라이언트/AI/PS/기타 연구
  • 깜냥c
    Choice Program
    깜냥c
  • 전체
    오늘
    어제
    • 분류 전체보기 (58)
      • 언어 (11)
        • C,C++ (9)
        • C# (1)
        • Python (1)
      • PS (20)
        • 백준 문제 (19)
        • 알고리즘 (1)
      • 인공지능 (2)
      • 게임제작 (7)
      • 게임개발 (15)
        • Unity (8)
        • Unreal Engine (5)
        • Godot Engine (1)
      • 기타 (2)
  • 블로그 메뉴

    • 홈
    • 방명록
    • 블로그 소개
  • 링크

    • 김병장의 IT 블로그
    • 식품영양과 데이터사이언스
  • 공지사항

  • 인기 글

  • 태그

    Unreal
    BOJ
    Godot
    백준
    unity
    배낭 문제
    C언어
    입출력
    UE5
    C++
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
깜냥c
표준국어대사전 API 이용 (Unity, C#)
상단으로

티스토리툴바