gpt4 book ai didi

java - 在 GSON 反序列化期间识别无效字段值

转载 作者:行者123 更新时间:2023-12-05 07:41:14 24 4
gpt4 key购买 nike

我的应用程序中有一个 Order 对象,它采用如下 JSON 格式。

{
"id" : "1001",
"amount" : 100.50
"customer" : {
"id" : "2001"
"name" : "Ned Stark"
}
}

这表示为以下 POJO。

public class Order 
{
private long id;
private double amount;
private Customer customer;
}

我使用 GSON 来序列化和反序列化这个 POJO。在 JSON 中给出的输入值有效之前,一切正常。

但是当我在 JSON 中给出无效的数据类型值时,GSON 不会抛出特定于容易出错的字段的异常,而只是抛出一个通用异常,这让应用程序不知道哪个字段值无效。

例如,如果我在 JSON 中将数量作为“asdf”(而不是有效数字)给出,在反序列化过程中 Gson 只会抛出一个通用的 NumberFormatException,但似乎没有提供任何异常发生的信息实际上,当“金额”字段试图用输入值设置时。

当应用程序必须将适当的错误传达给客户端时,这通常对应用程序很有用。我认为应该有某种方式可以在 GSON 中实现这一点。

有没有什么格式可以找到导致反序列化失败的具体字段?

最佳答案

您可以在序列化之前编写一个验证程序,而不是依赖第三方库。

这样您就可以完全控制在出现错误时要传达的消息。

关于java - 在 GSON 反序列化期间识别无效字段值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45520088/

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