代码中的Java JsonPath抓取InvalidPathException

代码中的Java JsonPath抓取InvalidPathException,java,json,exception,jsonpath,Java,Json,Exception,Jsonpath,我使用的是JsonPath,当提供的路径正确时,我能够解析数据并获取值 但是,当我提供不正确的路径(用户输入)时,程序终止。我不希望这种事发生。我是否可以捕获此异常并继续下一步 try { String value = JsonPath.read(jsonText, jsonPath); System.out.println(value); } catch(InvalidPathException

我使用的是JsonPath,当提供的路径正确时,我能够解析数据并获取值

但是,当我提供不正确的路径(用户输入)时,程序终止。我不希望这种事发生。我是否可以捕获此异常并继续下一步

try
        {
            String value = JsonPath.read(jsonText, jsonPath);

            System.out.println(value);
        }
        catch(InvalidPathException e)
        {
            System.out.println("ERROR<InvalidPathException>: "+e.getMessage());
        }

这个异常似乎来自jar的类FieldFilter。

如果我理解正确并且没有执行catch块,那么您必须捕获Java 7的
Java.nio.file.InvalidPathException
,而不是
JsonPath
com.jayway.JsonPath.InvalidPathException


仔细检查您的
import
语句。

库基于以下代码产生无效路径异常
(取自grepcode)


因此,我认为您应该打印jsonPath并将其与上述条件匹配。

Thank you@Sotirios。。我意识到我导入了不正确的异常。。我的代码现在运行得很好。
Exception in thread "main" com.jayway.jsonpath.InvalidPathException: invalid path
at com.jayway.jsonpath.internal.filter.FieldFilter.filter(FieldFilter.java:59)
at com.jayway.jsonpath.JsonPath.read(JsonPath.java:182)
at com.jayway.jsonpath.JsonPath.read(JsonPath.java:202)
at com.jayway.jsonpath.JsonPath.read(JsonPath.java:307)
at office.jsonPathparse.main(jsonPathparse.java:37)
if (jsonPath == null || jsonPath.trim().isEmpty() || jsonPath.matches("new ") 
       || jsonPath.matches("[^\\?\\+\\=\\-\\*\\/\\!]\\(")) {

       throw new InvalidPathException("Invalid path");

 }