2012-11-14 41 views
0

我返回從PHP一些SQL結果到Android。PHP JSON到Java不解析由於不可見的字符

我編碼JSON迴應如下:

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

一旦我贊同這回至Android我得到一個字符串,當我放到一個JSON驗證提供了有效的JSON代碼。

無論其....當我嘗試這個有效的字符串傳遞到一個新的JSONObject或JSONArray我收到一個錯誤,它不能轉換。

我相信,這是因爲看不見的空白字符。

我已經使用UTF-8字符集編碼得到我的PHP和Java Java中的下列...

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

和PHP ...

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

但這並沒有解決了這個問題。

任何幫助非常感謝。

回答

4

那是因爲你操縱一個有效的JSON表達中有

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

不要做,json_encode已經產生了有效的JSON。

而且Content-Type應該application/json只JSON輸出。

+0

感謝您的快速答覆,但我已經做你的建議的變化和有效的JSON字符串仍然不會轉換成JSONArray或對象 – EHarpham

+0

您可以編輯您的問題添加此* *有效的JSON字符串? – pozs

+0

我已將此添加爲編輯。 – EHarpham