在 REST 客户端中反序列化 JsonObject

Deserializing JsonObject in REST client

我在反序列化从 returns javax.json.JsonObject 的剩余端点获取的 javax.json.JsonObject 时遇到问题。
我正在使用 TomEE 7.0.2 网络配置文件。

稍微调试后,我发现异常来自Johnzone JsonObject implementation,使用方法JsonObject.getJsonObject(name)时是NullPointerException

来自 JsonObject 的 javadoc,它说如果没有找到 name 的映射,方法不应抛出异常。安装它应该 return null

Json 反序列化意味着有点通用,有时并非所有映射都存在。这对我来说是个问题,因为 JsonObject.getJsonObject(name) 在第三方库中被调用。

我是否误解了抛出此 NullPointerException 的原因?当应用程序 war 在 TomEE 服务器中为 运行 时,是否有使用另一个 javax.json.JsonObject 实现的解决方法?

这是因为您捕获的变量类型错误。请尝试使用 var。

您可以在读取实际值之前使用 containsKey 测试是否存在。