无法通过POJO MessagePack进行迭代

时间:2019-05-29 03:24:34

标签: java jackson msgpack

我有一个.txt文件,其中包含一堆DNSResourceRecord POJO类。我可以使用以下部分的代码从.txt文件中获取第一个元素:

ObjectMapper obj = new ObjectMapper(new MessagePackFactory());
DNSResourceRecord question = obj.readValue(new File(fileName), DNSResourceRecord.class);
System.out.println(question.TTL); // ttl is an element of the POJO

要获取所有DNSRescourceRecord元素,我将问题对象转换为带有for循环的数组:

ObjectMapper obj = new ObjectMapper(new MessagePackFactory());
DNSResourceRecord[] question = obj.readValue(new File(fileName), DNSResourceRecord[].class);
for(DNSResourceRecord d : question) {
    System.out.println(d.TTL);
}

这是我在Stackoverflow上发现的用于解决此问题的内容,但是我无法使其正常工作。我收到错误消息:

Can not deserialize instance of DNSResourceRecord[] out of START_OBJECT token

在此之外我还缺少什么吗?如果将其导入为MapObject并通过这种方式进行迭代,则可以读取所有数据。

谢谢!

0 个答案:

没有答案