2012-01-24 41 views
0

我想使用net.sf.json.JSONArray和net.sf.json.JSONObject中可用的一些json轉換方法,但它出現這些對象與(Android)org.json.JSONArray和org.json.JSONObject對象不兼容。基本上我正在尋找的是將有效的JSON字符串轉換爲像Arrays這樣的Java對象的高效且簡單的方法。 net.sf.json包對象似乎有這樣的轉換方法。是net.sf.json.JSONArray與org.json.JSONArray兼容

我的問題是 - net.sf.json.JSONArray是否與org.json.JSONArray兼容,如果是的話,這些對象如何使用?試圖從一個人投到另一個讓我無處可去。

JSONArray jsonArray = new JSONArray(); 
jsonArray = orgJSONArray; 
jsonArray = (JSONArray)orgJSONArray; 

如果我不能net.sf.json與org.json對象使用,Android中的境界是什麼是一個有效的JSON字符串轉換成Java數組對象的最佳和最有效的方式。

+0

將這些庫複製到您的項目庫並將import語句更改爲net.sf.json ... AFAIK它應該工作。 – kosa

+0

嘗試這種情況下,立即出現了你不得不放棄所有android json對象和關聯的函數,因爲它們綁定到從org.json產生的對象。 –

+0

是的,您一次只能使用其中一個庫。 – kosa

回答

0

根據定義net.sf.json.JSONObjectorg.json.JSONObject不相容,除非一個是另一個的子類。即使這兩個類的每個詞都有相同的定義,不同的包名也會使它們完全不同並且不兼容。

+0

我明白.......這是一個挑戰。如何使用net.sf.json對象作爲自定義對象,並使用org.json.JSONObject和org.json.JSONArray作爲它們的超類? –

+0

@StephenBennett - 然後你必須編輯和重新編譯net.sf.json。 –