首页 > 解决方案 > 如果 JPA 属性不存在于 json 响应中,则忽略它,如果它存在于 json 中则进行转换

问题描述

我从上游响应中得到一个 Json 响应,如下所示。

{
    "fieldone": {
    "header": {
    "requestId": "1234",
    "applicationName": "office",
    "status": "SUCCESS"
    },
    "lineLevel": [{
    "ou": "1025854560",
    "status": "REJECT"
    }]
    }
}

LineLevel 字段每次都可能是也可能不是 JSON 响应的一部分。我们可能会得到也可能不会。当我们没有得到它时,它会导致问题。解决它我已经尝试在属性级别使用 @jsonIgnore 但它忽略了该字段我们将特定字段作为响应的一部分。

在类级别尝试了@JsonIgnoreProperties,但是当 Json 响应中不存在相应的属性时,它会导致问题

任何人都可以提供解决它的任何指针。无论 Json 响应中是否存在 LineLevel 属性,我都应该继续我的过程

标签: javajsonspringjpa

解决方案


您可以使用

@JsonInclude(Include.NON_NULL)
LineLevel lineLevel

这将转换此字段,仅当它不为空时。

你可以在这里得到例子


推荐阅读