与具有不同数据类型的密钥同名的java JSON
在一个JSON Object
中,一个值以双精度出现,有时以对象出现,其中它是一个配置驱动的API
,我正在使用该值,但是POJO
中是否有任何方法来标识要为具有不同数据类型的相同密钥名管理的数据类型
是否可以在POJO
级别进行处理
{
"total": 56278160
}
或:
{
"total": {
"val1": 92444080,
"val2": 107372544,
"val3": 113946624
}
}
# 1 楼答案
有时,当一个字段可以存储
JSON Object
和primitive
时,此原语只是JSON Object
的“短”表示。例如,只设置了一个字段-val1
,服务只返回它,而不在JSON Object
中进行包装。在这种情况下,您可以创建一个带有两个构造函数的POJO
:一个用于单个Number
,另一个用于所有必填字段以上代码打印:
如果这些表示不相关,则可以使用
JsonNode
类型然后使用
isNumber
和isObject
方法查找它是表示primitive
还是JSON Object