2015-02-11 94 views
0
import org.json.simple.JSONObject; 
import org.json.simple.JSONValue; 
String Json = {"AccountToken":{"string":"hello"},"Event":{"string":"t"}} 
JSONObject genreJsonObject =(JSONObject)JSONValue.parseWithException(json); 
String account_id = (String) genreJsonObject.get("AccountToken"); 

拋出java.lang.ClassCastException錯誤JSON解析使用簡單的JSON庫

出了什麼問題,請幫助?

+0

例如'AccountToken'的內容不是字符串? – njzk2 2015-02-11 21:22:38

+0

如果AccountToken也是jsonObject,代碼將如何更改? – user2942227 2015-02-11 21:31:58

+0

AccountToken不是一個字符串。 – eckes 2015-02-11 21:48:34

回答

1

AccountToken是一個JSON對象,而不是字符串...

你需要將它轉換爲JSONObject的並在其上調用get()再次從它的內部結構得到的值

String json = "{\"AccountToken\":{\"string\":\"hello\"},\"Event\":{\"string\":\"t\"}}"; 
JSONObject genreJsonObject =(JSONObject)JSONValue.parseWithException(json); 
JSONObject accountToken = (JSONObject) genreJsonObject.get("AccountToken"); 
System.out.println(accountToken.get("string")); 

==> hello