先说一点背景。我有一个部署在 Weblogic 中的应用程序。它接收来自服务的 Json 响应。我正在尝试使用 JsonPath 导航树,但遇到了一个不寻常的问题。
我正在使用 Maven 构建/部署应用程序。依赖:
<dependency>
<groupId>com.jayway.restassured</groupId>
<artifactId>json-path</artifactId>
<version>1.8.1</version>
</dependency>
在让它在 Junit 中以完整响应运行并意识到它在部署时无法在应用程序中工作后,我将其简化并硬编码了非常小的数据子集。
{
"ChangeStatus": {
"Code": {
"value": "1002"
},
"Description": {
"value": "Matched more then 10 records"
}
}
}
这就是我现在正在看的...
String miniJson = "{\"ChangeStatus\":{\"Code\":{\"value\":\"1002\"},\"Description\":{\"value\":\"Matched more then 10 records\"}}}";
JsonPath miniJsonPath = new JsonPath(miniJson);
String statusCode = miniJsonPath.getString("ChangeStatus.Code.value");
在 JUnit 中,此代码有效,我可以成功断言 1002。在推送到 weblogic 后的应用程序中,这个确切的代码片段不起作用。它抛出一个 NoSuchMethodError。
任何想法都会受到欢迎。仅供参考,我们在 Weblogic 10.3.6 上
提前致谢!