gpt4 book ai didi

java - jackson 多个对象和巨大的 json 文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:08:10 26 4
gpt4 key购买 nike

我觉得答案可能与此重复:Jackson - Json to POJO With Multiple Entries但我认为这个问题可能已经足够不同了。此外,我使用的是原始数据绑定(bind)而不是完整数据绑定(bind)。

所以就像那个问题的提问者一样,我在一个文件中有多个对象,我试图将它们变成 POJO 并将它们塞入我设计的数据库中,这样我就可以快速而不是缓慢地访问数据。

这里的文件都是几十GB量级,每个文件中的对象多达数百万个。无论如何,这是我到目前为止所拥有的:

ObjectMapper mapper = new ObjectMapper();
Map<String,Object> data = mapper.readValue(new File("foo.json"), Map.class);
System.out.println(data.get("bar"));

这对于打印 foo 中第一个对象的 bar 元素非常有用,但我需要一种方法以一种不会耗尽我所有内存的方式遍历每个元素。

谢谢。

最佳答案

您不必在 Streaming (JsonParser) 和 ObjectMapper 之间做出选择,两者都做!使用解析器遍历一下,然后调用 JsonParser.readValueAs(MyType.class) 来绑定(bind)单个 JSON 对象。

或者,调用 ObjectMapperreadValue() 方法,在适当的点传递 JsonParser。或者使用 ObjectMapper.reader(Type.class).readValues() 并以这种方式迭代。

关于java - jackson 多个对象和巨大的 json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10411020/

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