테스트 사이트 - 개발 중인 베타 버전입니다

get 방식으로 받아 가져오기 질문 채택완료

다나한포션 3년 전 조회 1,974

안녕하세요.

비트코인 시세를 보려고 페이지를 하나 만드려고 하는데요

 

업비트에서 API를 제공하더라구요

https://crix-api-endpoint.upbit.com/v1/crix/candles/days/?code=CRIX.UPBIT.KRW-BTC

 

접속하면

</p>

<pre>
[{"candleDateTime":"2022-10-13T00:00:00+00:00","candleDateTimeKst":"2022-10-13T09:00:00+09:00","openingPrice":27460000.00000000,"highPrice":27674000.00000000,"lowPrice":26400000.00000000,"tradePrice":27636000.00000000,"candleAccTradeVolume":6996.44326874,"candleAccTradePrice":188635457632.80633000,"timestamp":1665682763371,"code":"CRIX.UPBIT.KRW-BTC","prevClosingPrice":27460000.00000000,"change":"RISE","changePrice":176000.00000000,"signedChangePrice":176000.00000000,"changeRate":0.0064093227,"signedChangeRate":0.0064093227}]</pre>

<p>

 

이런식으로 나오는데

이렇게 제공되는 데이터를 페이지 에서 어떻게 하면 받아올 수 있는건지 모르겟습니다.

 

 

이런식으로 만들려고 하거든요

혹시 방법을 아시는 고수님들 부탁드리겠습니다. ㅠ

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트

실시간 웹소켓으로 가져오면 편해요

https://docs.upbit.com/docs/upbit-quotation-websocket

예제)

</p>

<p>var socket; // 소켓</p>

<p>// 웹소켓 연결

function connectWS() {

    if(socket != undefined){

        socket.close();

    }

    

    socket = new WebSocket("wss://api.upbit.com/websocket/v1");

    socket.binaryType = 'arraybuffer';</p>

<p>    socket.onopen     = function(e){ 

        filterRequest('[{"ticket":"UNIQUE_TICKET"},

            {"type":"ticker","codes":["KRW-BTC"]},        // "KRW-BTC","KRW-ETH" -> parsing

            {"type":"orderbook","codes":["KRW-BTC"]},

            {"type":"trade","codes":["KRW-BTC"]}]'); 

    }

    socket.onclose     = function(e){ 

        socket = undefined; 

    }

    socket.onmessage= function(e){ 

        var enc = new TextDecoder("utf-8");

        var arr = new Uint8Array(e.data);

        var str_d = enc.decode(arr);

        var d = JSON.parse(str_d);

        if(d.type == "ticker") { // 현재가 데이터

        // 여기다 실행문 예로는 $("#btc").html(d.trade_price); 이런식

        }

        if(d.type == "orderbook") { // 호가 데이터

        // TODO

        }

        if(d.type == "trade") { // 체결 데이터

        // TODO

        }

    }    

}

// 웹소켓 연결 해제

function closeWS() {

    if(socket != undefined){

        socket.close();

        socket = undefined;

    }    

}</p>

<p>// 웹소켓 요청

function filterRequest(filter) {

    if(socket == undefined){

        alert('no connect exists');

        return;

    }

    socket.send(filter);

}</p>

<p>connectWS();</p>

<p>

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

플루토s
3년 전

스크립트 ajax 통신하셔서 받은데이터를 JSON.parse 해주시고 배치하시면 될거같습니다~

 

$.ajax({

      url: `https://crix-api-endpoint.upbit.com/v1/crix/candles/days/?code=CRIX.UPBIT.KRW-BTC" rel="nofollow noreferrer noopener" target="_blank">https://crix-api-endpoint.upbit.com/v1/crix/candles/days/?code=CRIX.UPBIT.KRW-BTC`,

      type: "GET",     

      success: function(res) {       

        var result = JSON.parse(res); 

        ...

      }

    })

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

플래토
3년 전
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

Php json으로 검색 한번 해 보세요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인