为什么我们不能在android中使用net.sf.json?

时间:2013-03-06 01:55:22

标签: android json

如果我们在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):致命异常:主要 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):在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):at 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)

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分: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

但是当我编译时,会报告一个例外:

  

多个dex文件定义Lorg / apache / commons / collections / Buffer

暴力解决方案:删除commons-beanutils-1.8.0.jar中的收藏目录。

然后您可以在Android中使用net.sf.json