개발일을 하다보면 한번쯤은 만나게 되는 인바운드 API.
외부에서 보내주는 api로 외부에서 데이터를 받아서 내부의 디비에 입력하는 경우가 많다.
쇼핑몰에서 그런짓을 많이 한다.
보내주는 api가 간단하면 다행인데 졸라 복잡하게 보내는 경우도 많았다.
하지만 요즘은 대부분 json으로 보내주기 때문에 어렵지 않다.
요즘은 이종간에 데이타 전송은 대부분 json으로 한다.
안드로이드에 데이타를 전해주고 받을때도 json으로 많이한다.
빗썸이라는 가상화폐거래소의 API를 통해 인바운드 api 맛보기를 해보자.
https://api.bithumb.com/public/ticker/BTC
위 주소로 접속해보자...
뭔가 이상해 보이는 글자들이 잔뜩 나타난다...
나타난 글자를 변수로 받아보자...
$jsonData=file_get_contents("https://api.bithumb.com/public/ticker/BTC");
이렇게 빗썸 json 데이타를 $jsonData 변수로 저장한다.
그리고 이걸 배열로 변환한다.
$arrayData=json_decode($jsonData);
이렇게 배열로 변환한뒤 배열을 확인해보자.
echo "<pre>";
print_r($arrayData);
그러면...
stdClass Object
(
[status] => 0000
[data] => stdClass Object
(
[opening_price] => 7169000
[closing_price] => 7417000
[min_price] => 7130000
[max_price] => 7500000
[average_price] => 7324494.4490
[units_traded] => 3895.11557392
[volume_1day] => 3895.11557392
[volume_7day] => 29354.25255758
[buy_price] => 7416000
[sell_price] => 7417000
[24H_fluctate] => 248000
[24H_fluctate_rate] => 3.45
[date] => 1529387517798
)
)
이렇게 보인다.
이 배열에서 opening_price 값을 출력할려면 어떻게 해야 할까?
echo $arrayData->data->opening_price;
이렇게 하면 된다...
배열일경우 print_r로 보면
stdClass Object
이렇게 보이는 경우는 "->" 이걸 붙여주고 Array 라고 보이는 경우는 "[opening_data]" 이런식으로 붙여주면 출력할 수 있다.
'PHP' 카테고리의 다른 글
php와 json rpc를 이용한 이더리움 토큰 발란스 확인 (0) | 2019.01.30 |
---|---|
php와 json rpc를 이용한 이더리움 토큰 전송 (0) | 2019.01.23 |
배열에 특정 값이 들어가 있는지 확인 (0) | 2018.06.19 |
배열을 출력할때 배열의 첫번째값을 출력하지 않기 (0) | 2018.06.19 |
php 기초적인 mysql 연결 (mysqli) (0) | 2018.06.18 |