在Java中使用JsonPath解析JSON

时间:2013-08-30 19:04:04

标签: java json jsonpath

我是Json-Path的新手。

我在我的eclipse构建路径中包含了:json-path-0.8.0.jar。

我将JSON从http://code.google.com/p/json-path/复制到文件。

我正在尝试解析此文件并使用以下内容显示作者姓名:

String jsonPath = "$.store.book[1].author";

File jsonFile = new File("C:\\ServicesTest\\jsonresponse2.json");

System.out.println("Author: "+JsonPath.read(jsonFile, jsonPath));

我收到此错误:

Exception in thread "main" java.lang.NoClassDefFoundError: org/apache/commons/lang/Validate
at com.jayway.jsonpath.JsonPath.read(JsonPath.java:304)
at office.jsonPathparse.main(jsonPathparse.java:34)
Caused by: java.lang.ClassNotFoundException: org.apache.commons.lang.Validate
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)
... 2 more

我还擅长:org.apache.commons.lang-2.6.jar 但我仍然得到错误。我在这里错过了什么吗?

发现问题: 我必须在路径中添加以下jar:

JSON-路径0.8.0.jar

公地琅2.6.jar

公地-IO-2.1.jar

JSON-智能1.1.jar

我错过了最后2场。

1 个答案:

答案 0 :(得分:4)

您可能缺少import语句,或库jar文件实际上未正确添加到类路径中。 NoClassDefFoundError表示java无法找到代码中引用的类...