본문 바로가기

classic asp

[classic asp] rest & json 파싱

json 예)
{
  "resultListData":[
   {"payDt":"20130614","endAnn":"5","payOrdNo":"1"}
  ,{"payDt":"20150614","endAnn":"6","payOrdNo":"1"}
  ,{"payDt":"20160614","endAnn":"7","payOrdNo":"1"}
  ],"procResult":"true","errorType":"000","errorMsg":""
}

<%
Set glob = Server.CreateObject("Chilkat_9_5_0.Global")
success = glob.UnlockBundle("인증키")
Set glob = Nothing

'REST
Dim Rest
Set Rest = Server.CreateObject("Chilkat_9_5_0.Rest")
Dim port, bTls, bAutoReconnect
bTls = 1
port = 443
bAutoReconnect = 1
success = Rest.Connect("www.test.co.kr", port, bTls, bAutoReconnect)
'success = Rest.AddHeader("Content-Type","application/json; charset=utf-8")
success = Rest.AddQueryParam("id",id) '요청변수1
success = Rest.AddQueryParam("pwd",pwd) '요청변수2
responseJson = Rest.FullRequestNoBody("POST","/webservice/api/readInfo.do?authKey=" & authKey)
'responseJson = Rest.FullRequestString("POST","/api/registArsOrder",JsonData)
'FullRequestString: JSON, XML 또는 기타 텍스트 데이터를 전송.
'FullRequestNoBody: GET, DELETE와 같은 요청에 사용 (본문 없음). URL 파라미터로 데이터 전송. 간단한 데이터 조회, 삭제 등.
'FullRequestFormUrlEncoded: POST 요청에 사용 (본문에 URL 인코딩된 데이터 포함). 요청 본문에 URL 인코딩된 데이터 전송. 로그인, 데이터 제출 등.
If Rest.LastMethodSuccess <> 1 Then '요청실패
  '요청실패   
End If
Set Rest = Nothing

'JSON
Dim json
Set json = Server.CreateObject("Chilkat_9_5_0.JsonObject") 
success = json.Load(responseJson)
procResult = json.StringOf("procResult")
errorMsg = json.StringOf("errorMsg")
Set resultArray = json.ArrayOf("resultListData")
For i = 0 To resultArray.Size -1 '배열수 만큼 루프
  Set resultData = resultArray.ObjectAt(i)
  endAnn = resultData.StringOf("endAnn")
  payDt = resultData.StringOf("payDt")
  payOrdNo = Int(resultData.StringOf("payOrdNo"))
  Set resultData = Nothing
Next
Set json = Nothing
%>