2023. 3. 7. 17:02ㆍRPA
요즘 API를 자주 사용하게 돼서 ~ To Json String 또는 Json String To ~ 이런걸 많이 하게 되는데
보통은 DT나 dictionary형 List를 많이 바꾸게 된다.
저번에 짜 놓은 DT를 제이슨 스트링으로 바꾸어 API를 쏘는 방법을 간단하게 정리 해 보겠다.
1. 패키지 설치
2. api 바디 확인
{
"data": [
{
"A": "string",
"B": 0,
"C": "string",
"D": 0,
"E": "2023-03-07T05:10:53.484Z"
}
]
}
위 형식에 맞춰서 DataTable을 만든다.
(컬럼 명,value 형식 같게 바꿔줌)
3. DT를 Json String으로 변환
1) Assign을 통해 DT를 JsonString으로 변환한다.
jsonString = JsonConvert.SerializeObject(DT)
위처럼 변환해서 jsonString을 찍어 보면
이렇게 [{컬럼1 : 첫번째 row 값 , 컬럼2 : 첫번째 row 값},{컬럼1 : 두번째 row 값 , 컬럼2 : 두번째 row 값} ...] 으로 나온다
2) jsonString을 Deserialize JSON Array 액티비티를 통해 JsonArray로 변환한다 (output 변수 명 : jsonArr)
참고로 'Deserialize JSON'라는 액티비티도 많이 쓰이는데, 거기선 무슨 형태로 바꾸고 싶은지 선택 가능하다.
이걸 사용한 과제도 있었는데 .. 찾으면 첨부하겠다 (어떤 Case인지 )
또, API를 쏘면 결과를 받아 uipath에서 변수에 담아야하는 과제가 있었는데
DIC = JsonConvert.DeserializeObject(Of Dictionary(Of String,string()))(sJsonString변수)
위처럼 해서 jsonString을 dict(string,String[]) 로 받았다.
Request Body 형식이나 API에서 Get 해 오는 형식에 따라 다양하게 바꿨었다
3) json array로 변환한 변수를 API 바디와 똑같이 만들어준다.
sResult = "{""data"":["+string.Join(",",jSonArr)+"]}"
4. HTTP Request 액티비티 사용
아까 만든 sResult를 Body에 넣고 Body Format이 원래는 application/xml로 되어있는데 우린 json형태로 넣기 때문에 json으로 바꿔주면 된다.
이렇게 하면 GET/POST 등 잘 된다.
response status를 받아서 성공/실패 확인하며 고쳐봐도 도움이 많이 된다.
'RPA' 카테고리의 다른 글
[Uipath] AR에서 windows scheduler로 프로세스 실행 시키는 법 (2) | 2023.01.20 |
---|---|
[Uipath] yyyyMMdd 또는 yyMMdd 형식 바꾸기, 날짜 형식인지 확인하기 (1) | 2023.01.12 |
[Uipath] 아웃룩 메일 제목 또는 받은 날짜 필터 (3) | 2023.01.03 |
[Uipath] Data Scraping이 자동으로 안 잡힐 때 직접 잡는 법 (2) | 2022.12.06 |
[Uipath] 엑셀 파일 확장자 변환 (0) | 2022.11.30 |