您的位置:首页 > 编程语言 > Java开发

用谷歌自带的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;
}好了,这个问题就扯到这了,真他娘麻烦。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息