當使用GSON庫(來自Google的json庫)時出現問題。希望有人能給我一些提示。如何使用GSON庫反序列化JSON字符串之間的JSON字符串
問題是,當我使用gson.fromJson()函數試圖將json字符串轉換爲指定的定義類。
的示例代碼:
String jsonStr = "{name:"ABC", countries:["US"]}"; // Some Json string.
Gson gson = new Gson();
Example example = gson.fromJSON(jsonStr, Example.class);
class Example {
// does no have no-arg constructor
private String name;
private Integer age;
private JSONArray keywords; // import org.json.JSONArray;
private JSONArray countries;
// other codes
}
上面的代碼簡單求我的問題的版本。 問題出在fromJson()函數中。錯誤消息是說「JsonParseException:期待找到的對象[」US「]」。我想不出什麼問題。我想也許gson不知道如何將字符串轉換爲JSONArray。因爲在這裏,JSONArray來自另一個庫(org.json)。
我試圖找出gson文檔。看起來我需要編寫一些「實例創建器」代碼。
我想知道另一個可以給我一些解決方案。謝謝。
您的代碼是無效的。 ABC和US坐在字符串之間。另外,如果你的JSON字面上是'{name:'ABC',countries:[「US」]}',那麼你還有無效的JSON。 – Thanatos 2011-05-22 18:49:46
@Thanatos。對於混淆抱歉。我沒有測試這些代碼。 – easycoder 2011-05-22 19:40:08