2026, 새로운 도약을 시작합니다.

json 형식 php로 다시한번만 봐주세요.. 채택완료

스크립트로 확인하는건 그누위즈님이 답변 주셔서 해결했습니다.

    $test="{\"result\":{\"resultCd\":\"0000\",\"resultMsg\":\"성공\",\"advanceMsg\":\"정상승인\",\"create\":\"20240410001244\"},\"pay\":{\"authCd\":\"82077601\",\"card\":{\"cardId\":\"card_0dad-000a9-35d-e7a5e\",\"installment\":0,\"bin\":\"518831\",\"last4\":\"3218\",\"issuer\":\"삼성\",\"cardType\":\"신용\",\"acquirer\":\"삼성\",\"issuerCode\":\"04\",\"acquirerCode\":\"04\"},\"webhookUrl\":\"\",\"products\":[{\"prodId\":\"\",\"name\":\"상품명패키지(박스+미포함-3)\",\"qty\":1,\"price\":1000,\"desc\":\"description\"}],\"trxId\":\"T240331783861\",\"trxType\":\"3DTR\",\"tmnId\":\"TMN043159\",\"trackId\":\"20240411161206-1394\",\"amount\":1000,\"udf1\":\"1394\",\"udf2\":\"\"}}";


$data = json_decode($test, true);
echo $resultMsg = $data['result']['resultMsg'];

echo $trxId= $data['result']['trxId'];

값을 가져올수가 없는데

$test 변수에 저런형태로 있을경우. 어떻게 원하는 값을추출을 해야하나요?

답변 4개

채택된 답변
+20 포인트
Copy
로그인 후 평가할 수 있습니다

답변에 대한 댓글 2개

답변 감사합니다.

아무것도 출력이 안되네요..
감사합니다. 실마리를 잡을거같아요.
API 제공업체에서 UTF-8 로 설계되어있었습니다.

제가 사용하는 환경은 EUC-KR이라서.. 변환하는 부분을 고민해보면 될거같습니다.
UTF-8로 하니 말씀하신 위 코드 동작합니다.

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

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

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

 $test='{"result":{"resultCd":"0000","resultMsg":"성공","advanceMsg":"정상승인","create":"20240410001244"},"pay":{"authCd":"82077601","card":{"cardId":"card_0dad-000a9-35d-e7a5e","installment":0,"bin":"518831","last4":"3218","issuer":"삼성","cardType":"신용","acquirer":"삼성","issuerCode":"04","acquirerCode":"04"},"webhookUrl":"","products":[{"prodId":"","name":"상품명패키지(박스+미포함-3)","qty":1,"price":1000,"desc":"description"}],"trxId":"T240331783861","trxType":"3DTR","tmnId":"TMN043159","trackId":"20240411161206-1394","amount":1000,"udf1":"1394","udf2":""}}';

$data = json_decode($test, true);
echo $resultMsg = $data['result']['resultMsg'];

echo $trxId= $data['result']['trxId'];

\를 제거했는데도 문제가 있네요..

json으로 받은변수로 알고있었는데..

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

답변에 대한 댓글 1개

제가 주신 소스를 기준으로 테스트를 해보니 $resultMsg 부분은 잘 가져오는거 확인되는데요

$trxId 값은 $data['pay']['trxId'];

이런식으로 가져오면 됩니다.

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

var_dump($data); 이렇게 해서 배열이 정상적으로 보여지고 있는지 부터 확인해 보세요

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

답변에 대한 댓글 2개

답변감사합니다.

null로 나옵니다.

처음부터
$data = json_decode($test, true);
에 담기지 않은거같아요.

json형태가 문제가 있어서 일까요?
json 형태가 아니여서 그런건데요
\ 이런 문구는 다 제거하고 json_decode 해서 확인해 보세요

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

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

로그인
🐛 버그신고