RestAPI json 출력문의
본문
유플러스 회신목록을 출력하려는데,
<?php
$curl = curl_init();
curl_setopt_array($curl, array(
CURLOPT_URL => 'https://centrex.uplus.co.kr/RestApi/getinboundcall?id=070**111111&pass=ff0385459ce2ccc762a7e4484d4c2b716&page=1&num_per_page=30',
CURLOPT_RETURNTRANSFER => true,
CURLOPT_CUSTOMREQUEST => 'POST',
CURLOPT_FOLLOWLOCATION => true,
CURLOPT_HTTPHEADER => array(
'Content-Type: application/json; charset=UTF-8',
'Cookie: PHPSESSID=af1cb0b8694a36ff'
),
));
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
?>
위와같은 php 코드로 REST API를 호출하여 아래와 같은 응답을 받았습니다.
아래 응답 중 DATAS의 정보만을 테이블에 foreach를 돌려서 38개의 데이터를 출력하려고 하는데,
잘안되서 문의를 드려봅니다. 도움 부탁드립니다.
{
"SVC_RT": "0000",
"SVC_MSG": "OK",
"LISTINFO": {
"page": 1,
"numperpage": 10,
"total": "38"
},
"DATAS": [
{
"NO": 1,
"TIME": "2021-03-02 16:00:58",
"SRC": "010**111111",
"DST": "070**111111",
"DURATION": "55",
"STATUS": "FAILED",
"CHANNEL": "833b2",
"DSTCHANNEL": "200-0001",
"ENDTIME": "2021-03-02 16:01:53",
"APPDATA": "204"
},
{
"NO": 2,
"TIME": "2021-03-02 16:00:58",
"SRC": "010**111111",
"DST": "070**111111",
"DURATION": "55",
"STATUS": "FAILED",
"CHANNEL": "833b2",
"DSTCHANNEL": "200-0001",
"ENDTIME": "2021-03-02 16:01:53",
"APPDATA": "204"
!-->
답변 2
$response 변수에 JSON 문자열이 담겼으니
PHP array로 만든 후(json_decode()) 출력하시면 되겠습니다
echo $response; 대신 넣으세요
// echo $response;
$arr = json_decode($response, true);
// var_dump($arr);
if (isset($arr['DATAS']) && is_array($arr['DATAS'])) {
foreach ($arr['DATAS'] as $data) {
echo 'NO: '.$data['NO'].' ';
echo 'TIME: '.$data['TIME'].' ';
echo '<br>';
}
}
ㅠ decode까지하고, 공부하면서 코딩을 하다보니
마지막 정렬해서 출력하는부분 코딩을 못해서 뻘짓하고 있었습니다.
깔끔하게 정렬되어 데이터가 나오네요. 테이블에만 집어넣으면 됩니다.
도움 감사드립니다.