api json 통신중 당최 이해할수 없는 상황이... 왜 0이 뜨는지... 채택완료
</p>
<p><?php
header('Content-Type: application/json; charset=UTF-8');
include_once ('./_common.php');
$point= $member['mb_point'];
$data = array(
"status" => "OK",
"balance" =>$point,
"bonus" =>0,
"uuid" =>$uuid
);
$jsonData = json_encode($data, JSON_NUMERIC_CHECK | JSON_PRETTY_PRINT);</p>
<p>
이렇게 코딩이 되어 있는데 결과값이
{ "status": "OK", "point": 0, "bonus": 0, "uuid": "asdasdasdwa" }
이렇게 뜹니다..
포인트는 분명히 9350이 있고 echo 찍어봐도 9350인데..
그런데 또 희안한거닌
$point= 1111;
이렇게 임의로 입력을 하면
{ "status": "OK", "point": 1111, "bonus": 0, "uuid": "asdasdasdwa" }
정상적으로 나오구요..
회원 포인트를 가져와야 하는데 json값이 0으로 떠요..ㅠㅠ 미치고 환장하것네요 ㅠㅠ
답변 5개
답변에 대한 댓글 5개
JSON_UNESCAPED_UNICODE로 해도 똑같네요..ㅠㅠ
echo 찍으면 나와요..
api 테스트 하는 사이트에서도 어디는 숫자 제대로 뜨고 어디는 0으로 나오고
댓글을 작성하려면 로그인이 필요합니다.
로그인 처리가 제대로 안되어서 $member 가 없는 경우로 보여집니다.
$member = get_member("admin")
한후에 출력해보시면 정상일겁니다.
결국 session 의 ss_mb_id 가 비정상이거나, 로그인 안한상태로 저 페이지를 호출한것입니다.
문제가 생겼을때, 본인이 만든 코드부터 의심을 하시는게 좋습니다.
"뭔가 내가 알지 못하는 부분 때문일거야. " 라는 생각으로 접근하면, 해결하는데 시간이 많이 걸리게 됩니다.
코드도 몇줄 안되고, 분명 정상 동작해야 하는데, 비정상으로 동작하는것입니다.
사실 이것은 비정상이 아니라 정상 동작일수 있습니다.
</p>
<pre>
<code><?php
header('Content-Type: application/json; charset=UTF-8');
include_once ('./_common.php');
ini_set('display_errors', 1); //오류 출력
$point= $member['mb_point'];
$data = array(
"status" => "OK",
"balance" =>$point,
"mb_level" => intVal($member['mb_level']),
"mb_id" => trim($member['mb_id']),
"bonus" =>0,
"uuid" =>$uuid
);
$jsonData = json_encode($data, JSON_NUMERIC_CHECK | JSON_PRETTY_PRINT);</code></pre>
<p><code>
댓글을 작성하려면 로그인이 필요합니다.
댓글을 작성하려면 로그인이 필요합니다.
같은건데 api 테스트하는 두사이트에서 봤는데
왼쪽꺼는 0으로 나오고 오른쪽은 정상출력되고...
api 상대 서버에서도 0으로 나온다 하고..
![]()
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
배열도 문제 없어보이고
제이슨 출력할때 옵션이 뭐가 있을까요? JSON_NUMERIC_CHECK 외에 다른게 있을지...