1. 직렬화, 역직렬화
✅ 직렬화(Serialization) : 객체(Object)를 저장, 저장할 수 있는 특정 포맷 상태로 바꾸는 과정
Serial은 '연속된'이라는 뜻을 가지고 있다. 즉 Serialization은 객체를 '연속된' Byte나 String으로 변환하는 과정을 의미한다. Object는 메모리에 올라와 있지만 Byte나 String은 파일로 저장될 수 있거나 통신에 사용 될 수 있다.
CSV, XML, JSON 형태의 직렬화
- 사람이 읽을 수 있다
- 저장 공간의 효율성이 상대적으로 떨어지고, 파싱 하는 시간이 오래 걸린다
- 주로 데이터의 양이 적을 때 사용한다
Binary 직렬화
- 사람이 읽을 수 있다
- 저장 공간의 효율성이 상대적으로 높고, 파싱 하는 시간이 빠르다
- 주로 데이터의 양이 많을 때 사용한다
- 모든 시스템에서 사용 가능하다
Java 직렬화
- Java 시스템 간의 데이터 교환이 필요할 때 사용한다
- Serializable 인터페이스를 구현함으로써 사용 가능하다
✅ 역직렬화(Desialization) : 특정 포맷 상태의 데이터를 다시 객체로 변환하는 것
2. XML, JSON 비교
| 특징 | XML | JSON |
|---|
| 가독성 | 태그가 많아 덜 가독적 | 가볍고 읽기 쉬움 |
| 데이터 크기 | 태그로 인해 데이터 크기가 큼 | 상대적으로 크기가 작음 |
| 구조화 | 계층적 데이터 표현에 강점 | 배열 및 객체 표현에 적합 |
| 유효성 검사 | 스키마(DTD,XSD)로 강력히 지원 | 추가 도구로 유효성 검사 필요 |
| 사용 사례 | 레거시 시스템, SOAP, 산업 표준 | REST API, 최신 웹 애플리케이션 |
3. JSON과 JSON Array
✅ JSON
정의
- JSON은 키-값 쌍으로 구성된 데이터 객체를 표현한다
구조
- { "key" : "value" } 형태로 나타내며, 중괄호 {}로 묶인다
- 키는 문자열이어야 하며, 값은 문자열, 숫자, 불리언, 객체, 배열 또는null일 수도 있다
특징
- 하나의 객체를 표현
- 키-값 쌍으로 데이터를 명확히 구분
- 중첩된 객체 포함 가능
✅ JSON Array
정의
- JSON Array는 JSON형태의 데이터를 배열로 표현한 것
구조
- 대괄호 []로 묶이며, 여러 JSON객체나 단순 데이터 타입들을 포함할 수 있다
4. RPA API연동
API 패키지 설치

Get요청
https://reqres.in/ 접속
Test JSON데이터 웹사이트이다.
여기의 url과 Request인 앤드포인트를 복사한다
예) https://reqres.in/api/users?page=2

HTTP Request 액티비티 가져오기 - 구성 클릭

앤드포인트 항목에 위에서 복사한 앤드포인트를 입력한다
요청 메서드는 GET
다음으로 응답 허용은 JSON

가져올 데이터는 속성-출력-응답상태-String형식의 변수가 만들어진다

POST요청
요청 메서드는 POST
매개변수에 파라미터를 추가하여 원하는 데이터를 추가한다


Deserialize JSON : JSON데이터 역직렬화
역직렬화할려는 JSON데이터를 입력하고 속성-출력-JObject타입의 변수 생성

JSON 출력
출력방법
- String변수에 할당할려면 .ToString사용
- jsonObject("results")(0)("name")("first").ToString

JsonString

JsonObject

4-1. JsonArray로 DataTable 만들기
1). url
https://jsonplaceholder.typicode.com/posts

2). DataTable 만들기

3). Http Request

4). Json 역직렬화

5). 반복문으로 Add Data Row

4-2. 날씨정보 가져오기
1). url
https://api.openweathermap.org

2). Http Request

3). Json 역직렬화

4). DataTable 만들기

5). Add Data Row
{JsonObject("weather")(0)("description"), JsonObject("main")("temp"), JsonObject("main")("humidity")}

결과

4-3. Json데이터를 Dictionary로 변환
Deserialize JSON의 속성-TypeArgument를 Dictionary로 설정하면 출력개체의 타입이Dictionary로 설정된다



