채택완료
php로 만든 json 파일 인식을 못합니다.
Copy
<?php
include_once('./_common.php');
header('Content-Type:application/json; charset=utf-8');
$json_array = array();
$sql = "select * from g5_write_notice where wr_id =".$_GET['no'];
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++) {
$json_array["notice"]["title"] = $row["wr_subject"];
}
$json_array = json_encode($json_array, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);
echo $json_array;
?>
이런식으로 만들어서 json 파싱을 하게 했는데
json 값을 보면
{"notice":{"title":"공지사항"}}
이런식으로 잘 나옵니다. 근데 실제로는 파싱하는쪽에서는 값을 못 불러 옵니다.
근데 위에 소스를 다 지우고
{"notice":{"title":"공지사항"}}
걍 이렇게만 넣으면 제대로 인식을 합니다.
뭐가 문제 일까요? 어차피 나오는값은 똑같은데 왜 php를 쓰면 안되고, 걍 텍스트만 넣으면 되죠?
미칠거 같아요 ㅜㅜ
답변 5개 / 댓글 5개
채택된 답변
+20 포인트
$json_array = json_encode($json_array);
이렇게 하면 문제가 생기나요?
답변에 대한 댓글 2개
추가 파라미터 없이 진행해 보세요.
그리고
for ($i=0; $row = sql_fetch_array($result); $i++) {
$json_array["notice"]["title"] = $row["wr_subject"];
}
이 코드도 이상하네요. 보통은
for ($i=0; $row = sql_fetch_array($result); $i++) {
$json_array["notice"]["title"][]= $row["wr_subject"];
}
이런 식으로 합니다.
그리고
for ($i=0; $row = sql_fetch_array($result); $i++) {
$json_array["notice"]["title"] = $row["wr_subject"];
}
이 코드도 이상하네요. 보통은
for ($i=0; $row = sql_fetch_array($result); $i++) {
$json_array["notice"]["title"][]= $row["wr_subject"];
}
이런 식으로 합니다.
JSON_UNESCAPED_UNICODE 이거 하나만 써보세요
그리고 제이쿼리 아작스 쓸때는 꼭 datatype을 확인 하세요
답변을 작성하려면 로그인이 필요합니다.
자바스크립트를 써서 가져가는거 같은데