1. 程式人生 > >關於json解析時異常org.json.JSONException: A JSONObject text must begin with '{' at character 1 of {的解決方法

關於json解析時異常org.json.JSONException: A JSONObject text must begin with '{' at character 1 of {的解決方法

出現這個異常的原因是json串格式不正常,沒有"{"開始或沒有"}"結尾,仔細檢查下json檔案的格式一般就可以解決這個問題。但是有時候json檔案是正常的,仍然有這個異常資訊,怎麼辦呢,這個是因為你的json檔案頭裡帶有編碼字元(如UTF-8等),讀取字串時json串是正常的,但是解析就有異常,一般會出現這樣的情況是讀取的json串是來自於伺服器或本地的檔案,檔案頭裡自帶編碼,就我碰到情況來看在Android2.1的手機會報異常,高於2.1的手機是正常的。


解決方法:我們來看看帶編碼的檔案有什麼不同,用UE開啟帶編碼和不帶編碼的json檔案,然後切換到HEX 模式,會發現帶編碼的檔案比不帶編碼的檔案多三個位元組,讀取帶編碼的檔案時只要不讀取前三個位元組,這樣就可以正常解析了。
帶UTF-8編碼的檔案


不帶編碼的檔案:


技術交流QQ群:6399844