반응형

* VBNET Json Parsing 을 이용한 로또 (Lotto) 당첨번호 읽어 오기 예제...

 

메인화면

전체 소스 코드

Form1.vb

 

Imports System.Net 
Imports System.IO 
Imports System.Net.Json 

Public Class Form1 


    Private Function GetHttpLottoString(ByVal strUri As String) As String 
        Dim strResponseText As String = String.Empty 

        Dim request As HttpWebRequest = CType(WebRequest.Create(strUri), HttpWebRequest) 
        request.Method = "GET" 

        '웹리퀘스트 타임아웃  
        request.Timeout = 20 * 1000 ' 20초 
        'request.Headers.Add("Authorization", "BASIC SGVsbG8="); // 헤더 추가 방법 

        '응답 받기... 
        Using hwr As HttpWebResponse = CType(request.GetResponse(), HttpWebResponse) 

            '응답이 정상적으로 이루어 졌으면... 
            If hwr.StatusCode = HttpStatusCode.OK Then 
                Dim respStream As Stream = hwr.GetResponseStream() 

                Using sr As StreamReader = New StreamReader(respStream) 
                    strResponseText = sr.ReadToEnd() 
                End Using 

            Else 
                strResponseText = "" 
            End If 

        End Using 

        Return strResponseText 
    End Function 

    Private Function IsNullString(ByVal str As String) As Boolean 
        Return String.IsNullOrEmpty(str) 
    End Function 

    Private Function IsInt(ByVal ob As Object) As Integer 
        If ob Is Nothing Then 
            Return 0 
        End If 

        Dim iCheck As Integer = 0 
        Dim bCheck As Boolean = Integer.TryParse(ob.ToString(), iCheck) 

        If Not bCheck Then 
            Return 0 
        End If 

        Return iCheck 
    End Function 

    Private Sub button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles button2.Click 
        '빈값이거나 null 값이면... 
        If IsNullString(textBox1.Text) Then 
            MessageBox.Show("빈 값일 순 없습니다.") 
            Return 
        End If 

        '숫자가 아니면... 
        If IsInt(textBox1.Text) = 0 Then 
            MessageBox.Show("숫자만 입력 해 주세요.") 
            Return 
        End If 

        '로또 회차 넘버 불러오기... 
        Dim strReturnValue As String = GetHttpLottoString("https://www.dhlottery.co.kr/common.do?method=getLottoNumber&drwNo=" + textBox1.Text) 

        If strReturnValue = "" Then 
            MessageBox.Show("Lotto Number 불러오기 실패...") 
            Return 
        End If 


        'Json 으로 바꾸기... 
        Dim jtr As JsonTextParser = New JsonTextParser() 
        Dim jo As JsonObject = jtr.Parse(strReturnValue) 

        Dim jac As JsonObjectCollection = CType(jo, JsonObjectCollection) 

        '불러오기가 성공 하면... 
        textBox2.Text = "" 
        If jac("returnValue").GetValue().ToString() = "success" Then 
            '텍스트 박스에 뿌려주기... 
            textBox2.Text += "로또 당첨일: " + jac("drwNoDate").GetValue().ToString() + System.Environment.NewLine 
            textBox2.Text += "로또 회차: " + jac("drwNo").GetValue().ToString() + System.Environment.NewLine + System.Environment.NewLine 
            textBox2.Text += "1등 당첨금: " + jac("firstWinamnt").GetValue().ToString() + System.Environment.NewLine 
            textBox2.Text += "1등 당첨 인원: " + jac("firstPrzwnerCo").GetValue().ToString() + " 명" + System.Environment.NewLine 
            textBox2.Text += "누적 상금: " + jac("totSellamnt").GetValue().ToString() + System.Environment.NewLine + System.Environment.NewLine 
            textBox2.Text += "당첨 번호: " + jac("drwtNo1").GetValue().ToString() + _ 
                                        "," + jac("drwtNo2").GetValue().ToString() + _ 
                                        "," + jac("drwtNo3").GetValue().ToString() + _ 
                                        "," + jac("drwtNo4").GetValue().ToString() + _ 
                                        "," + jac("drwtNo5").GetValue().ToString() + _ 
                                        "," + jac("drwtNo6").GetValue().ToString() + System.Environment.NewLine 
            textBox2.Text += "보너스 번호: " + jac("bnusNo").GetValue().ToString() + System.Environment.NewLine 
        End If 


    End Sub 

    Private Sub textBox1_KeyDown(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles textBox1.KeyDown 
        '사용자가 엔터키를 입력 하면... 
        If e.KeyCode = Keys.Enter Then 
            '버튼 이벤트 함수 불러오기 
            button2_Click(Nothing, Nothing) 
        End If 

    End Sub 

End Class

 

 

* 예제 결과

 

결과 화면

 

↓ 참조 문서 

 

https://kdsoft-zeros.tistory.com/98

 

[VBNET] Json File Write & Read 예제...

* VBNET Json 파일 읽고 쓰기 예제... (System.Net.Json.dll) 파일 참조 위 첨부된 파일을 다운 받아 dll 참조 추가를 해줍니다. 오른쪽에 솔루션 탐색기가 나타나지 않는다면, 상단 메뉴 (보기) -> (솔루션탐색..

kdsoft-zeros.tistory.com

https://kdsoft-zeros.tistory.com/77

 

[VBNET] string 을 int 및 double 형으로 변환 하기, string null 체크

* string 문자열을 정수 및 실수 형으로 변환 하기 예제... 전체 소스코드 Form1.vb Public Class Form1 Private Sub button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles butto..

kdsoft-zeros.tistory.com

 

반응형

+ Recent posts