相关疑难解决方法(0)

即使标记为@NonNull 也没有给出某些字段,则 Gson.fromJson 不会失败

我有一个 POJO 定义如下:

@Value
public class Abc {

    @NonNull
    private final String id;

    @NonNull
    private final Integer id2;

    @NonNull
    private final List<String> data;

    @NonNull
    private final String otherData;
}
Run Code Online (Sandbox Code Playgroud)

我在做的时候,

GSON.fromJson(str, Abc.class);
Run Code Online (Sandbox Code Playgroud)

与 str 为:

{
"id": "dsada",
"id2": 12,
"data": ["dsadsa"]
}
Run Code Online (Sandbox Code Playgroud)

在此,没有 otherData 字段。即便如此,GSON.fromJson 也没有失败。为什么会这样?那么,将该字段标记为@NonNull 是否有任何意义?

java gson lombok

7
推荐指数
1
解决办法
645
查看次数

使用GSON进行Json验证的Java

在使用GSON API将Java对象转换为Json字符串时,如果任何带注释的属性为null,我还希望失败此Json转换.

例如

public class Order{

@SerializedName("orderId")
@Expose
@Required
private Integer id;

//getter & setter available for id
}
Run Code Online (Sandbox Code Playgroud)

就像我在做的那样

Order order = new Order();

JSONObject jsonobj = new JSONObject(gson.toJson(order));
Run Code Online (Sandbox Code Playgroud)

如果任何@Required属性为null,我想让上面的Java失败到Json转换这是否可以使用GSON?

java json transformation gson

3
推荐指数
1
解决办法
2559
查看次数

标签 统计

gson ×2

java ×2

json ×1

lombok ×1

transformation ×1