2012-11-14 2 views
0

PHP의 일부 SQL 결과를 Android로 반환하고 있습니다. 보이지 않는 문자로 인해 PHP JSON이 파싱되지 않습니다.

$json_string = json_encode($rows); 
$json_string = str_replace("\\", "", $json_string, $i); 
return $json_string; 

내가이 다시 에코되면

내가 내가 JSON 검사기에 배치 할 때 유효한 JSON 코드를 제공하는 문자열을 얻을 안드로이드 위해 다음과 같이

나는 JSON 응답을 인코딩합니다.

그런데 ... 일단이 유효한 문자열을 새 JSONObject 또는 JSONArray에 전달하려고하면 변환 할 수 없다는 오류가 발생합니다.

공백 문자가 보이지 않기 때문입니다.

나는 자바에서 다음을 사용하여 UTF-8 문자 세트 모두 내 PHP와 자바를 인코딩 한

...

BufferedReader reader = new BufferedReader(new InputStreamReader(
       is, "utf-8"), 8); 

및 PHP에 대한

...

header('Content-Type: text/html; charset=utf-8'); 

을하지만이 가지고 있지 문제를 해결했다.

도움을 주시면 감사하겠습니다. 당신이 그렇게하지 마십시오

$json_string = str_replace("\\", "", $json_string, $i); 

으로 유효한 json으로 representaion를 조작하기 때문이다

답변

4

는,로 json_encode 이미 유효한 JSON을 생산하고 있습니다.

Content-Type은 json 출력의 경우에만 application/json이어야합니다.

+0

빠른 답장을 보내 주셔서 감사합니다. 그러나 제안 된 변경 사항을 적용했으며 유효한 JSON 문자열은 여전히 ​​JSONArray 또는 Object로 변환되지 않습니다. – EHarpham

+0

질문을 편집하여 * 유효한 * json 문자열을 추가 할 수 있습니까? – pozs

+0

수정으로 추가했습니다. – EHarpham

관련 문제