JSON이란?
JSON은 JavaScript Object Notation를 줄여서 쓰는 말로 데이터를 저장하거나 교환하기 위한 데이터 포맷입니다. 이는 JSON이 텍스트를 기반으로 하고 있기 때문에 다른 언어 및 플랫폼에서 두루 두루 해석이 가능하기 때문입니다. JSON의 장점은 코딩을 줄일 수 있고 처리 속도가 빠르다는 점입니다.
JSON은 이름에 JavaScript가 들어가 있는 것에서 볼 수 있듯이 파싱이나 직렬화(Serialization) 같은 작업 없이 JavaScript 프로그램에서 사용할 수 있습니다. 하지만 UiPath에서 API를 통해 JSON을 받으면 역직렬화(Deserialization) 작업을 한 후 데이터를 쓸 수 있습니다.
직렬화, 역직렬화
위에서 직렬화, 역직렬화와 같은 생소한 용어가 나왔으니 이에 대해 간단히 설명드린 후 다음으로 넘어가겠습니다.
- 직렬화(Serialization) : 객체(Object)를 저장, 전송할 수 있는 특정 포맷 상태로 바꾸는 과정
- 역직렬화(Deserialization) : 특정 포맷 상태의 데이터를 다시 객체로 변환하는 것
글로서 이해하기에 감이 잘 안잡히는 분들을 위해 이미지로 만들어봤습니다.

이제 좀 감이 오시나요?
JSON의 데이터 유형
JSON은 다양한 데이터 유형을 사용할 수 있습니다. 아래에 표로 정리해 보았으니 살펴보시죠.

JSON의 데이터 유형 예시
JSON의 기본적인 형태는 키(Key)와 밸류(Value), 이렇게 쌍으로 이루어져 있습니다. 그리고 Key와 Value사이에는 콜론(:)이 있습니다. 모습만 보면 Dictionary와 비슷하게 생겼는데 이렇게 Key와 Value로 이루어진 데이터는 Key를 통해 Value를 불러올 수 있습니다.
{ key : value } 예) {"이름" : "홍길동"}
여러 쌍의 데이터가 있을 때는 쉼표(,)로 구분할 수 있습니다.
{key1 : value, key2 : value2} 예) {"id" : 1, "이름" : "홍길동"}
밸류(Value)에 Object(객체), Array(배열) 등이 들어갈 수 있는데 Object는 중괄호( { } )를 쓰고 Array는 대괄호( [ ] )를 씁니다. 먼저 Object의 예를 보겠습니다.
{ key : { Object_Key : Object_Value }} 예) {"핸드폰" : { "제조사" : "삼성", "판매사" : "KT" } }
다음은 Array의 예입니다.
{ key : [Array1, Array2, Array3] } 예){ "유튜버" : [ { "이름" : "곽윤기", "age" : 33 }, { "이름" : "대도서관", "age" : 45} ] }
오늘은 JSON에 대한 기초적인 개념에 대해서 알아보았습니다. UiPath를 공부하시는 분께 도움이 되었으면 좋겠습니다. 감사합니다.