2013-03-06 73 views
0

如果我們在android中使用net.sf.json.JSONObejct,則類加載器無法找到該類。爲什麼我們不能在android中使用net.sf.json?
並有一個可以在android中使用的json jar嗎?因爲google的org.json太簡單了。 我想分析一個對象的JSONObject。 thxs很多。爲什麼我們無法在android中使用net.sf.json?

03-06 14:40:06.613:E/AndroidRuntime(660):致命異常:主 03-06 14:40:06.613:E/AndroidRuntime(660):java.lang.NoClassDefFoundError:com.google .gson.Gson 03-06 14:40:06.613:E/AndroidRuntime(660):at de.bobs_world.mobile.LoginActivity.onCreate(LoginActivity.java:67) 03-06 14:40:06.613:E/AndroidRuntime(660):在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 03-06 14:40:06.613:E/AndroidRuntime(660):at android.app.ActivityThread.performLaunchActivity(ActivityThread.java: 1611) 03-06 14:40:06.613:E/AndroidRuntime(660):at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 03-06 14:40:06.613:E/AndroidRuntime(660) :在和roid.app.ActivityThread.access $ 1500(ActivityThread.java:117) 03-06 14:40:06.613:E/AndroidRuntime(660):at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:931) 03-06 14:40:06.613:E/AndroidRuntime(660):at android.os.Handler.dispatchMessage(Handler.java:99) 03-06 14:40:06.613:E/AndroidRuntime(660):at android .os.Looper.loop(Looper.java:123) 03-06 14:40:06.613:E/AndroidRuntime(660):at android.app.ActivityThread.main(ActivityThread.java:3683) 03-06 14 :40:06.613:E/AndroidRuntime(660):在java.lang.reflect.Method.invokeNative(本地方法) 03-06 14:40:06.613:E/AndroidRuntime(660):at java.lang.reflect。 Method.invoke(Method.java:507) 03-06 14:40:06.613:E/AndroidRuntime(660):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.jav a:839) 03-06 14:40:06.613:E/AndroidRuntime(660):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 03-06 14:40:06.613: E/AndroidRuntime(660):在dalvik.system.NativeStart.main(本地方法)

回答

1

您可以使用它,只需將該庫導入到您的項目中。

+0

java.lang.NoClassDefFoundError:如果我使用其他json jar,而不是組織。json,它會發生這個錯誤。 – 2013-03-06 03:45:42

+0

發佈整個異常堆棧。 – Catherine 2013-03-06 05:33:28

+0

檢查net.sf.json依賴關係 - http://json-lib.sourceforge.net/dependencies.html - 並將缺少的jar添加到您的構建路徑。 – Dmitry 2013-03-06 05:56:43

0

我也遇到過這樣的問題,最終的解決方案是這樣的:net.sf.json需要一些其他的罐子,有instructions on the official website

如果你想使用json-lib-2.4-jdk15.jar,你必須添加這些:

  • 公地-beanutils-1.8.0.jar
  • 公地集合-3.2.1.jar
  • 公地琅2.5.jar
  • 共享記錄-1 .1.1.jar
  • ezmorph-1.0.6.jar

但是當我編譯,異常將被報告:

multiple dex files define Lorg/apache/commons/collections/Buffer

暴力解決方案:在commons-beanutils-1.8.0.jar刪除colletions的目錄。您可以在Android中使用net.sf.json

相關問題