Programing

JAVA 로또 번호 JSON 방식으로 불러오기

c10106 2017. 11. 1. 22:21
반응형

로또 많이 좋아 하시나요?


다들 한번 쯤 5 등에 당첨되어 본 적도 있으실 테고 더 좋은 등수에 당첨되기를 염원 텐데요.

혹시나 웹 화면이나 앱에 로또 당첨 번호를 알려주는 서비스를 해보고 싶신 분들은

나눔 로또 (http://www.nlotto.co.kr)에서 제공하고있는 로또 당첨 번호 조회 API 를 활용하기

그 어느 시스템보다 명백하고 당첨 결과를 명백히 있습니다.


저는 JAVA 개발자라서 JAVA 언어 이용한 방법을 알려 드리고자합니다.


우선 아래 소스를 보시죠.

import java.io.InputStreamReader;
import java.net.URL;

import org.json.simple.JSONObject;
import org.json.simple.JSONValue;

public class LottoTest {

	public static void main (String [] args) {
		
		// 로또 회차
		문자열 차례 = "778";
		URL 결과;
		
		{
			
			// 로또 추첨 결과 조회 URL
			결과 = 새 URL ( "http://www.nlotto.co.kr/common.do?method=getLottoNumber&drwNo="+ 차례);
			
			InputStreamReader isr = new InputStreamReader (result.openConnection (). getInputStream (), "UTF-8");
			
			// JSON 형식 읽기
			JSONObject 객체 = (JSONObject) JSONValue.parse (isr);
			
			System.out.println ( "읽기 결과 :"+ object.toJSONString ());
			
			// 성공 인 경우
			if ( "success".equals (object.get ( "returnValue"))) {
				
				System.out.print ( "로또 번호 :");
				for (int i = 1; i <= 6; i ++) {
					System.out.print ( ""+ object.get ( "drwtNo"+ i));
				}
				System.out.println ( "(보너스 :"+ object.get ( "bnusNo") + ")");
			} else {
				System.out.println (turn + "회차 로또 정보 읽기를 실패했습니다.");
			}
			
		} catch (예외 e) {
			e.printStackTrace ();
		}
	}
}


개발 프로세스는 가변적입니다.

1. java.net.URL 클래스를 활용하여 http://www.nlotto.co.kr/common.do?method=getLottoNumber&drwNo= 778 와 같이 drwNo.에

   조회를하고 싶은 로또 회차를 넣어 결과를 읽어 드린다.

2. URL 결과를 InputStreamReader를 활용하여 스트림 형식으로 변환한다.

3. 스트림의 결과를 JSONObject로 파싱한다.

4. json 결과를 활용한다.


심플 하죠?


실행 결과는 달라집니다.

읽기 결과 : { "totSellamnt": 75075606000, "returnValue": "success", "drwNoDate": "2017-10-

28 ","firstWinamnt ": 6264069500,"drwtNo6 ": 41,"drwtNo4 ": 36,"firstPrzwnerCo ": 3,"drwt

No5 ": 37,"bnusNo ": 11,"firstAccumamnt ": 18792208500,"drwtNo2 ": 21,"drwNo ": 778,"drwtN

o3 ": 35,"drwtNo1 ": 6}

로또 번호 : 6 21 35 36 37 41 (보너스 : 11)


항목 설명)

returnValue : 읽기 성공 여부 (성공 : 성공, 실패 : 실패)

drwNoDate : 추첨 일자

drwtNo1 ~ 6 : 추첨 결과 6 개 번호

bnusNo : 개체 번호

totSellamnt : 총 판매액

firstAccumamnt : 1 등 당첨 총 금액

firstPrzwnerCo : 1 등 당첨자 수

firstWinamnt : 1 등 1 명당 당첨 금액


참고로 http://www.nlotto.co.kr/common.do?method=getLottoNumber 이렇게 drwNo를 제외하고 호출 할 경우 제일 최근에 추첨 한 로또 당첨 결과를 읽습니다.


그리고 브라우저에서 해당 주소로 접속 가능한 아래 캡쳐 그림처럼 하얀 화면에 JSON 방식의 텍스트 결과 값을 확인할 수도 있습니다.


만약 아직 추천하지 않은 회차로 조회 할 경우, 실패 메시지가 포함 된 결과를 적용합니다.


여기까지입니다.


친근한 로또처럼 꼭 1 등하 고도 친해지시길 바랍니다 ^^


반응형