json으로 받은 값을 다른 cURL headers의 value에 변수로 넣기

json으로 받은 값을 다른 cURL headers의 value에 변수로 넣기

QA

json으로 받은 값을 다른 cURL headers의 value에 변수로 넣기

본문

대한통운api에 연결중인데 제가 너무 몰라서 여쭤봅니다.

 

cURL로 되어있구요.

1페이지에서 대한통운쪽으로 부터 키값을 받아왔습니다. 받아온 것을 변수로 저장했습니다.

2페이지에서 받은 키값을 CURLOPT_HTTPHEADER와 CURLOPT_POSTFIELDS에 넣어야합니다.

 

2페이지에서

  CURLOPT_HTTPHEADER => array(
    'CJ-Gateway-APIKey: $XXXXXX',
    'Content-Type: application/json',
    'Accept: application/json'
  ),

이런 형태로 1페이지에서 받은 키값의 변수를 2페이지에 넣고 싶은데요. 변수처리를 어떻게 해야하나요?

 

그리고 1페이지에서 받은 값은

{"RESULT_CD":"S","RESULT_DETAIL":"Success","DATA":{"TOKEN_NUM":"XXXXXXXXXXXXXXXXX~~"}}

이와 같아서 변수로 저장할때

curl_close($curlToken);
echo $responseToken;

$objToken = json_decode($responseToken);

$token_num = $objToken->DATA->TOKEN_NUM; 

이렇게 해서 정상적으로 값을 불러냈습니다만,

2페이지에서 받은 값은 

{"RESULT_CD":"S","RESULT_DETAIL":"Success","DATA":[{"CRG_ST":"XXXXXXXXXXXXXXXXX~~"}]}

이와 같이 DATA에 [ ] 이 추가되어 있습니다.

그래서 $objTrace->DATA->CRG_ST; 로는 값을 불러낼수 없었습니다.

CRG_ST 앞뒤로 []도 붙여보고 해봤습니다만...

어떤 형태로 불러내서 변수로 저장할 수 있는지 알려주시면 감사하겠습니다.

이 질문에 댓글 쓰기 :

답변 3


$objToken->DATA[0]->CRG_ST;

1.


  CURLOPT_HTTPHEADER => array(
    'CJ-Gateway-APIKey: ' . $XXXXXX,
    'Content-Type: application/json',
    'Accept: application/json'
  ),

 

2.


  CURLOPT_HTTPHEADER => array(
    "CJ-Gateway-APIKey: $XXXXXX",
    'Content-Type: application/json',
    'Accept: application/json'
  ),

https://zetawiki.com/wiki/PHP_json_decode()

 

이걸 참고해보시면

 

json_decode의 두번째 인자값이 기본적으로 생략인데

true로 할경우

리턴값이 배열로 됩니다.

 

배열로 만드신후에 접근해서 사용해보세요

 

그누보드 기반에서 사용하시는것이라면

 

print_r2($objTrace);로 확인해보시고

일반적인 PHP라면

 

var_dump($objTrace);로 확인해보시는게 좋을듯 합니다.

 

추가적으로

 

is_array()

를 적절히 체크해보시는것도 변수활용방법에 다양성을 기할수있지 않을까 싶습니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 123,681 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT