当前位置: 首页 > 知识库问答 >
问题:

为变化的时间戳键创建Jackson映射POJO

长孙朝明
2023-03-14
{
    "1580845108000": {
    "alert-signal": 0.0062766625,
    "dog": 0.0130784754,
    "engine": 0.0708726496,
    "human-voice": 0.1199417934,
    "machinery-impact": 0.0472540185,
    "music": 0.021510249,
    "non-machinery-impact": 0.0242645852,
    "powered-saw": 0.0049560028
    },
    "1580845118000": {
    "alert-signal": 0.0111050699,
    "dog": 0.018236123,
    "engine": 0.0586684793,
    "human-voice": 0.139834553,
    "machinery-impact": 0.04508489,
    "music": 0.0201060269,
    "non-machinery-impact": 0.0192962978,
    "powered-saw": 0.0032691984
    },
    "1580845128000": {
    "alert-signal": 0.0074710315,
    "dog": 0.0575219542,
    "engine": 0.0491682142,
    "human-voice": 0.1408204138,
    "machinery-impact": 0.0702125877,
    "music": 0.0147017343,
    "non-machinery-impact": 0.0283612106,
    "powered-saw": 0.0036001888
    }
}

对于这个来自RestTemplate的JSON响应,我如何构造Java POJO来映射包括键(即时间戳'1580845128000')在内的所有字段。

当前我有ResponseEntity result=restTemplate.exchange(uri,HttpMethod.Get,entity,String.class);

共有1个答案

潘文乐
2023-03-14

首先,发布的Json不是一个列表。Jackson的一个有用特性是,它可以将任何给定的json反序列化为映射。您可以将json反序列化为一个映射,并获得映射的值():

Map<String, ReadInstance> map = (Map<String, ReadInstance>)mapper.readValue(jsonString, Map.class)
 类似资料:
  • 我试图使用Jackson将JSON反序列化为Java POJO。在不泄露机密信息的情况下,以下是ObjectMapper反序列化失败时的堆栈跟踪示例: 枚举类型如下所示: 我确实意识到我试图反序列化一个空值。但我认为这仍然有效:反序列化的结果应该等同于具有的映射,这确实是一个有效的Java指令。非常感谢帮助,提前感谢。

  • 问题内容: 如何创建日期为23/09/2007的时间戳记? 问题答案: 通过,我相信你的意思。您会注意到,该类具有一个接受参数的构造函数。您可以使用以下类进行解析:

  • b)对Employee类中的ReferencedColumnName='department id'使用@ManyToOne和@JoinColumn。 建议采用哪种方法?还是这两种方法用于完全不同的问题?

  • 我试图在shell脚本中创建一个时间戳变量,以使日志记录更加容易。我希望在脚本的开头创建变量,并让它在发出时打印出当前时间。事实证明,这比我想象的要困难得多。以下是我尝试过的一些事情: 我尝试过的其他东西只是轻微的变化,没有更好的效果。有人知道如何完成我想做的事吗?

  • 我对Jackson有一个错误的理解,就是将json文件反序列化为poco。这是我的代码: 我的POCO命名为AnimalBean: }还有我的JSON文件: } 当我执行我的代码时,我有以下错误:未识别的字段“动物园”(类动画豆),未标记为可忽略的。我知道问题是我的json文件开始不直接由动物,但我不能改变它,因为它不是我的。我已经尝试把对象apper.configure(Deseriazatio