API 연동(Http Request)

수현·2024년 12월 13일

강서여성RPA학습

목록 보기
37/39

1. 직렬화, 역직렬화

✅ 직렬화(Serialization) : 객체(Object)를 저장, 저장할 수 있는 특정 포맷 상태로 바꾸는 과정

Serial은 '연속된'이라는 뜻을 가지고 있다. 즉 Serialization은 객체를 '연속된' Byte나 String으로 변환하는 과정을 의미한다. Object는 메모리에 올라와 있지만 Byte나 String은 파일로 저장될 수 있거나 통신에 사용 될 수 있다.

CSV, XML, JSON 형태의 직렬화

  • 사람이 읽을 수 있다
  • 저장 공간의 효율성이 상대적으로 떨어지고, 파싱 하는 시간이 오래 걸린다
  • 주로 데이터의 양이 적을 때 사용한다

Binary 직렬화

  • 사람이 읽을 수 있다
  • 저장 공간의 효율성이 상대적으로 높고, 파싱 하는 시간이 빠르다
  • 주로 데이터의 양이 많을 때 사용한다
  • 모든 시스템에서 사용 가능하다

Java 직렬화

  • Java 시스템 간의 데이터 교환이 필요할 때 사용한다
  • Serializable 인터페이스를 구현함으로써 사용 가능하다

✅ 역직렬화(Desialization) : 특정 포맷 상태의 데이터를 다시 객체로 변환하는 것


2. XML, JSON 비교

특징XMLJSON
가독성태그가 많아 덜 가독적가볍고 읽기 쉬움
데이터 크기태그로 인해 데이터 크기가 큼상대적으로 크기가 작음
구조화계층적 데이터 표현에 강점배열 및 객체 표현에 적합
유효성 검사스키마(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로 설정된다




0개의 댓글