Parse JSON using JsonPath in Java

与世无争的帅哥 提交于 2019-12-22 11:33:22

问题


I am new to Json-Path.

I have included: json-path-0.8.0.jar in my eclipse build path.

I copied JSON from: http://code.google.com/p/json-path/ to file.

and I am trying to parse this file and display an authors name using:

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

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

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

I am getting this error:

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

I have also inculded: org.apache.commons.lang-2.6.jar But I am still getting the error. Am I missing something here ?

Found the problem: I have to add following jar's to path:

json-path-0.8.0.jar

commons-lang-2.6.jar

commons-io-2.1.jar

json-smart-1.1.jar

I was missing the last 2.


回答1:


You may be missing the import statements, or the library jar file is not actually added to your classpath correctly. NoClassDefFoundError means java can't find the class that is referenced in your code...



来源:https://stackoverflow.com/questions/18539862/parse-json-using-jsonpath-in-java

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!