用谷歌自带的Json类解析时遇到的java.lang.NoClassDefFoundError: org/json/JSONException问题
2014-11-18 23:28
471 查看
Exception in thread "main" java.lang.NoClassDefFoundError: org/json/JSONException
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at sun.launcher.LauncherHelper.getMainMethod(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.json.JSONException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 6 more
问题是上面这样的,自己捣鼓了半天,看问题代码应该是缺少org.json.JSONException这个类,说这个类没有找到。
网上找了半天还是没有找到解决办法,突然想到导入一个json的包看是否可行。
我倒了一个org.json.jar到项目的lib目录下,再一编译就可以了。
下面是json.org下载的路径:
http://download.csdn.net/detail/u013476751/8173517
本来开始用的Java的那套解析Json,但是也是编译不过,捣鼓了半天还是用谷歌的Json解析类来解析Json。
哎,真麻烦。
下面是一个用谷歌自带类解析单个Json的例子,其他解析Json的方法也大同小异,自己可以百度查找一下其他方法。
public static JSONArray getQuestionJson(String jsonStr) {
JSONArray jsonArray = new JSONArray();
JSONTokener tokener = new JSONTokener(jsonStr);
try {
JSONObject question = (JSONObject) tokener.nextValue();
jsonArray.put(0, question.get("id"));
jsonArray.put(1, question.get("fid"));
jsonArray.put(2, question.get("type"));
jsonArray.put(3, question.get("question"));
jsonArray.put(4, question.get("config"));
jsonArray.put(5, question.get("answer"));
jsonArray.put(6, question.get("jiexi"));
jsonArray.put(7, question.get("ceshi"));
jsonArray.put(8, question.get("uid"));
jsonArray.put(9, question.get("username"));
jsonArray.put(10, question.get("ifshare"));
jsonArray.put(11, question.get("yz"));
jsonArray.put(12, question.get("difficult"));
jsonArray.put(13, question.get("yema"));
jsonArray.put(14, question.get("answer"));
jsonArray.put(15, question.get("star"));
} catch (JSONException e) {
e.printStackTrace();
}
return jsonArray;
}好了,这个问题就扯到这了,真他娘麻烦。
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getMethod0(Unknown Source)
at java.lang.Class.getMethod(Unknown Source)
at sun.launcher.LauncherHelper.getMainMethod(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Caused by: java.lang.ClassNotFoundException: org.json.JSONException
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 6 more
问题是上面这样的,自己捣鼓了半天,看问题代码应该是缺少org.json.JSONException这个类,说这个类没有找到。
网上找了半天还是没有找到解决办法,突然想到导入一个json的包看是否可行。
我倒了一个org.json.jar到项目的lib目录下,再一编译就可以了。
下面是json.org下载的路径:
http://download.csdn.net/detail/u013476751/8173517
本来开始用的Java的那套解析Json,但是也是编译不过,捣鼓了半天还是用谷歌的Json解析类来解析Json。
哎,真麻烦。
下面是一个用谷歌自带类解析单个Json的例子,其他解析Json的方法也大同小异,自己可以百度查找一下其他方法。
public static JSONArray getQuestionJson(String jsonStr) {
JSONArray jsonArray = new JSONArray();
JSONTokener tokener = new JSONTokener(jsonStr);
try {
JSONObject question = (JSONObject) tokener.nextValue();
jsonArray.put(0, question.get("id"));
jsonArray.put(1, question.get("fid"));
jsonArray.put(2, question.get("type"));
jsonArray.put(3, question.get("question"));
jsonArray.put(4, question.get("config"));
jsonArray.put(5, question.get("answer"));
jsonArray.put(6, question.get("jiexi"));
jsonArray.put(7, question.get("ceshi"));
jsonArray.put(8, question.get("uid"));
jsonArray.put(9, question.get("username"));
jsonArray.put(10, question.get("ifshare"));
jsonArray.put(11, question.get("yz"));
jsonArray.put(12, question.get("difficult"));
jsonArray.put(13, question.get("yema"));
jsonArray.put(14, question.get("answer"));
jsonArray.put(15, question.get("star"));
} catch (JSONException e) {
e.printStackTrace();
}
return jsonArray;
}好了,这个问题就扯到这了,真他娘麻烦。
相关文章推荐
- 测试jsoup解析网页遇到的问题Invalid layout of java.lang.String at value
- 遇到:无法解析类型 java.lang.CharSequence怎么办?
- 红色的小叉 与 无法解析类型 java.lang.Object
- java.lang.Process调用程序阻塞问题解决(刚刚遇到的问题,看有人解决了,转一下:) )
- 红色的小叉 与 无法解析类型 java.lang.Object
- 使用Java自带SAX工具解析XML
- sun jdk内存泄露解析之java.lang.OutOfMemoryError: Java heap space
- 无法解析类型 java.lang.Object。从必需的 .class 文件间接引用了它
- 解析notes自带的rtf javaapplet编辑器
- java反射学习笔记一(解析java.lang.String)
- 发送邮件时遇到mail包冲突异常Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/mail/util/LineInputStream 解决方法
- 在Spring中发现java.lang.ClassCastException: $Proxy1问题解析
- 使用Java自带SAX工具解析XML
- Liferay研究之卅二: ext 开发环境下遇到java.lang.VerifyError问题
- 如何解决J2ME开发中遇到提示 ALERT: java/lang/ClassFormatError: Bad version information.的问题
- 用dom4j解析xml 报java.lang.NoClassDefFoundError:org/jaxen/JaxenException
- 利用java自带的java.lang.String搜索
- 在Spring中发现java.lang.ClassCastException: $Proxy1问题解析
- select count(t.id)时遇到java.lang.ClassCastException: java.lang.Long
- 运行Maven 遇到 java.lang.NoClassDefFoundError