0

如果我们在android中使用net.sf.json.JSONObejct,类加载器找不到类。为什么我们不能在 android 中使用 net.sf.json?
并有一个可以在 android 中使用的 json jar 吗?因为 google 的 org.json 太简单了。我想从一个对象解析一个 JSONObject。非常感谢。

03-06 14:40:06.613: E/AndroidRuntime(660): 致命异常: main 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): 在 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): 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 03-06 14:40 :06.613: E/AndroidRuntime(660): 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 android.app.ActivityThread.access$1500 (ActivityThread.java:117) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 android.os.Handler.dispatchMessage(Handler.java:99) 03-06 14:40:06.613: E/AndroidRuntime(660) : 在 android.os.Looper.loop(Looper.java:123) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 android.app.ActivityThread.main(ActivityThread.java:3683) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 java.lang.reflect.Method.invokeNative(Native Method) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 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.java:839) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 dalvik .system.NativeStart.main(本机方法)E/AndroidRuntime(660): 在 android.os.Handler.dispatchMessage(Handler.java:99) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 android.os.Looper.loop(Looper.java :123) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 android.app.ActivityThread.main(ActivityThread.java:3683) 03-06 14:40:06.613: E/AndroidRuntime(660):在 java.lang.reflect.Method.invokeNative(Native Method) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 java.lang.reflect.Method.invoke(Method.java:507) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 03-06 14:40:06.613: E/AndroidRuntime(660):在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 dalvik.system.NativeStart.main(Native Method)E/AndroidRuntime(660): 在 android.os.Handler.dispatchMessage(Handler.java:99) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 android.os.Looper.loop(Looper.java :123) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 android.app.ActivityThread.main(ActivityThread.java:3683) 03-06 14:40:06.613: E/AndroidRuntime(660):在 java.lang.reflect.Method.invokeNative(Native Method) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 java.lang.reflect.Method.invoke(Method.java:507) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 03-06 14:40:06.613: E/AndroidRuntime(660):在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 dalvik.system.NativeStart.main(Native Method)java:99) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 android.os.Looper.loop(Looper.java:123) 03-06 14:40:06.613: E/AndroidRuntime(660) : 在 android.app.ActivityThread.main(ActivityThread.java:3683) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 java.lang.reflect.Method.invokeNative(Native Method) 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.java: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): at dalvik.system.NativeStart.main(Native Method)java:99) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 android.os.Looper.loop(Looper.java:123) 03-06 14:40:06.613: E/AndroidRuntime(660) : 在 android.app.ActivityThread.main(ActivityThread.java:3683) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 java.lang.reflect.Method.invokeNative(Native Method) 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.java: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): at dalvik.system.NativeStart.main(Native Method)在 android.app.ActivityThread.main(ActivityThread.java:3683) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 java.lang.reflect.Method.invokeNative(Native Method) 03-06 14: 40:06.613: E/AndroidRuntime(660): 在 java.lang.reflect.Method.invoke(Method.java:507) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 com.android.internal .os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java: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): at dalvik.system.NativeStart.main(Native Method)在 android.app.ActivityThread.main(ActivityThread.java:3683) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 java.lang.reflect.Method.invokeNative(Native Method) 03-06 14: 40:06.613: E/AndroidRuntime(660): 在 java.lang.reflect.Method.invoke(Method.java:507) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 com.android.internal .os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java: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): at dalvik.system.NativeStart.main(Native Method)613: E/AndroidRuntime(660): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 com.android .internal.os.ZygoteInit.main(ZygoteInit.java:597) 03-06 14:40:06.613: E/AndroidRuntime(660): at dalvik.system.NativeStart.main(Native Method)613: E/AndroidRuntime(660): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 03-06 14:40:06.613: E/AndroidRuntime(660): 在 com.android .internal.os.ZygoteInit.main(ZygoteInit.java:597) 03-06 14:40:06.613: E/AndroidRuntime(660): at dalvik.system.NativeStart.main(Native Method)

4

2 回答 2

1

您可以使用它,只需将库导入您的项目即可。

于 2013-03-06T02:20:56.870 回答
0

I have encountered such a problem, the final solution is this: net.sf.json needs some other jars, there are instructions on the official website

If you want to use json-lib-2.4-jdk15.jar, you have to add these:

  • commons-beanutils-1.8.0.jar
  • commons-collections-3.2.1.jar
  • commons-lang-2.5.jar
  • commons-logging-1.1.1.jar
  • ezmorph-1.0.6.jar

But when I compile, an exception will be reported:

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

Violent solutions: Remove the directory of colletions in commons-beanutils-1.8.0.jar.

Then you can use net.sf.json in Android.

于 2014-11-22T08:16:12.893 回答