2015-10-07 20 views
1

當我試圖解析Android中JSON字符串,有org.json.JSONException如何解析在Android中具有不正常語法的JSON?

org.json.JSONException: Value {"alias":"\ud56b\u 
at org.json.JSON.typeMismatch(JSON.java:100) 
at org.json.JSONArray.getJSONObject(JSONArray.java:525) 

從服務器中的數據如下所示。

["{\"alias\":\"\\ud56b\\ud50c\",\"address\":\"\\uad00\\ucca0\\ub3d9,\\ub300\\uce58\\ub3d9,\\uc2e0\\uc0ac\\ub3d9\"}","{\"alias\":\"\\uc2e0\\uc0ac\\ub3d9\",\"address\":\"\\uc2e0\\uc0ac\\ub3d9\"}","{\"alias\":\"\\uc591\\uc7ac\\ub3d9\",\"address\":\"\\uc591\\uc7ac\\ub3d9\"}","{\"alias\":\"\\ub79c\\ub364\",\"address\":\"\\ub300\\ud604\\ub3d9,\\ubc29\\ubc30\\ub3d9\"}","{\"alias\":\"\\uc0bc\\ud3c9\\ub3d9\",\"address\":\"\\uc0bc\\ud3c9\\ub3d9\"}","{\"alias\":\"\\ubd80\\uc804\\ub3d9\",\"address\":\"\\ubd80\\uc804\\ub3d9\"}"] 

請問你給我你的建議如何解析它在Android?

+1

在您的服務器上重做json – Sheychan

+0

@Sheychan與你在這裏同意。也許先嚐試修復服務器。 –

回答

1

看來你必須刪除\才能正確讀取它。

嘗試是這樣的:result = result.replace("\\", "");

如果你想擺脫\的還有:

result = result.replace("\\\\", "");

也爲了您的"{爲好,這可能是一個問題。

其中結果是你以前的,將成爲你的新json。

但Sheychan是正確的,你的服務器必須解決它,而不是你的應用程序。