2013-02-02 121 views
0

我有這樣的字符串,它會從服務器傳遞:Java的JSON解析異常

{\"error\":\"email_in_diff_account\"} 

它是在PHP創建這樣的:

$post_data = array('error' => "email_in_diff_account"); 

echo json_encode($post_data); 

但是,當我嘗試解析它像這樣在JAVA:

JSONArray obj = new JSONArray(result); 

它會導致以下情況例外。

org.json.JSONObject不能轉換到JSONArray

有沒有人知道如何解決這一問題?我不是在php中正確創建JSON嗎?

+0

請不要忘記來發表您的異常/錯誤消息。當你這樣做,不要把它埋在評論 –

回答

2

如果那些反斜槓存在,那將是你的問題。請儘管發佈例外。

+0

這是例外:org.json.JSONObject不能轉換爲JSONArray – Genadinik

1

的所有代碼首先不能這樣

$post_data = array('error' => "email_in_diff_account"); 
echo json_encode($post_data); 

{\"error\":\"email_in_diff_account\"} // your output 

{"error":"email_in_diff_account"} // actual output 

創建JSON,你可以使用這個鏈接http://jsonlint.com/

看到你的代碼http://codepad.org/oJXj0GdI

+0

你的意思是PHP應該創建沒有反斜槓的字符串? – Genadinik

+0

@Genadinik是的。 –

+0

PHP沒有添加反斜槓,這是你用來顯示你的字符串的任何東西的產物 –

1

正確的使用方法是: JSONObject json = new JSONObject(result);

+0

對不起。 – romualdr