gpt4 book ai didi

java - 处理Json不存在的键Spring Boot

转载 作者:行者123 更新时间:2023-12-02 09:29:23 25 4
gpt4 key购买 nike

我正在创建一个 requestModel ,假设有人没有向我发送一些 key 。如果该键不存在,我想在获得该键的值时将其设置为 null。我不想调查 key 是否存在。

public class CustomerModel {

private Optional<String> s3Bucket;

private Optional<String> docType;


public String getS3Bucket() {
if(s3Bucket.isPresent()) {
return s3Bucket.get();
} else {
return null;
}
}

public void setS3Bucket(Optional<String> s3Bucket) {
this.s3Bucket = s3Bucket;
}

public Optional<String> getDocType() {
return docType;
}

public void setDocType(Optional<String> docType) {
this.docType = docType;
}

}

我们有图书馆什么的吗?1. 如果我得到 key 并且它不存在于即将到来的请求 json 中,我将从中获取 null ,并且如果 key 存在并且具有 value 。它将被存储为值。2.在为s3bucket(getS3Bucket)编写getter时,我不想为每个key值编写它。有没有一种自动的方法来做到这一点。

我看了很多帖子,但没有场景。

P.S - 我是 java 新手

最佳答案

我相信Jackson正是您所需要的。如果你正在使用 Spring - 我猜它已经在幕后使用了 Jackson。

Here您可以找到一些有关如何完成 JSON 映射到模型类的示例和文档。

如果您需要自定义某些行为,可以使用像@JsonProperty这样的注释(有很多)。

如果模型类中的属性与 JSON 中的属性具有相同的名称,则很可能您不需要提供任何进一步的配置。

这是一个简单的例子:

public class User {
@JsonProperty("userName")
private String name;
private int age;
// getters and setters
}

如果你有这样的 JSON:

{
"userName" : "Foo Bar",
"age" : 18
}

除非您需要非常具体的东西,否则 jackson 将为您实现所有魔法。

如果您得到的 JSON 中没有某些内容(假设您收到了没有 age 的 JSON) - 如果它是对象类型且默认,则模型类中的相应属性将为 null基元的值(0、false 等)(在我们的例子中,age 将为 0)。

关于java - 处理Json不存在的键Spring Boot,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58102379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com