Parse JSON using JsonPath in Java

Refresh

November 2018

Views

8.8k time

3

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 answers

4

Вы можете пропускать операторы импорта, или файл библиотеки баночка фактически не добавил в свой путь к классам правильно. NoClassDefFoundErrorозначает , что Java не может найти класс , на который ссылаются в коде ...