미채택 완료

JSON 출력에 대해서 문의드립니다.

2017-03-24 (금) 13:45:17 5,198

Copy
{"result":{"code":"00","message":"정상승인","advancedMessage":"정상승인","create":"20170324132255"}} $data = json_decode(stripslashes($_POST['response']));
echo $data->result->code;

데이터에 맨 위에 있는 json 데이터가 있는데 왜 code를 출력 못할까요? 제가 잘못 이해하고 있는게 있을려나요?

|

답변 4개 / 댓글 5개

2017-03-24 (금) 17:04:41

$json= json_encode(array("result=>$result) ,JSON_UNESCAPED_UNICODE);

echo $json;

이렇게 해보세요~

2017-03-24 (금) 14:22:16

$data = json_decode(stripslashes($_POST['response']));

$a= $data;

$data = json_decode($a);

일단 위 처럼 하니깐 나오네요... 머가 문제 일지 혹시나해서 해봤는데 되네요 ㅠ.ㅠ

php 버전을 확인해보세요 

5.2이상 

한글지원은 5.4이상이어야 합니다.

답변에 대한 댓글 2개

5.2던데 그러면 값에 하나라도 한글이 있으면 제대로 안되는건가요?
print_r($_POST['response']); 했을땐 한글도 나오던데요
배열 자체에선 한글이 있어도 무관합니다.
일단 한글을 빼고 테스트해보시고 한글이 문제라면

http://ekfqkqhd.tistory.com/entry/PHP-jsonencode-%ED%95%9C%EA%B8%80%EA%B9%A8%EC%A7%90

참고해보시기 바랍니다.

stripslashes() 하시면서 이미 json 형태의 문자열이 아닌 것이 되어버린 것으로 보입니다.

$data = json_decode($_POST['response']);

이렇게 해보세요. 

답변에 대한 댓글 3개

그렇게도 해봤는데도 안되더라고요 ㅠ.ㅠ
혹시나 해서 지금 다시 해봤는데도 안되네요 ㅠ.ㅠ
echo $_POST['response'];
해보세요. 값이 제대로 넘어왔나요?
위에 적은 값이 $data에 넣고
print_r($data); 했을때 값입니다.

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