gpt4 book ai didi

java - 将字典文本文件加载到 Java 中

转载 作者:行者123 更新时间:2023-12-01 11:26:31 24 4
gpt4 key购买 nike

我需要将信息文本文件加载到 Java 中。文本文件如下所示

"reproduce": {
"VB": 7
},
"drill": {
"VB": 8,
"NN": 16
},
"subgross": {
"JJ": 2
},
"campsites": {
"NNS-HL": 1,
"NNS": 1
},
"streamed": {
"VBN": 1,
"VBD": 2
}

它基本上是一个巨大的单词集合,其中包含一些标签。我需要将此信息保存在某种 Java 数据结构中以便程序可以搜索和检索给定单词的标签统计信息

据我所知,使用 HashMap 类型是最好的主意?像这样的东西:

Map<KeyType, List<ValueType>>

这是个好主意吗?我将如何从文本文件中扫描这些数据?我也许可以找到一种方法将字典打印到文本文件中,这样更容易扫描到 Java 中。

最佳答案

虽然您的输入看起来与 JSON 不完全相同,但您也许能够以简单的方式对其进行预处理[1],使其成为有效的 JSON。因为 JSON 可能更广泛,因此比您的自定义格式得到更好的支持。

<小时/>

如果您的问题是 JSON 反序列化,那么请查看 JacksonGson ,这会将您的输入字符串转换为对象。

jackson 的简单示例:

ObjectMapper mapper = new ObjectMapper(); // can reuse, share globally
Map<String,Object> data = mapper.readValue(new File("file.json"), Map.class);
// process data further here ...

Jackson 和 Gson 都有很多选择,并且可以通过各种方式处理复杂的输入,例如它们可以对映射、自定义对象进行序列化和反序列化,可以处理多态性(将不同的输入映射到不同类的对象)等等。

<小时/>

鉴于当前问题中的输入,您可以简单地在前面和后面添加一个大括号,并且您将获得有效的 JSON:

{
"reproduce": {
"VB": 7
},
"drill": {
"VB": 8,
"NN": 16
},
"subgross": {
"JJ": 2
},
"campsites": {
"NNS-HL": 1,
"NNS": 1
},
"streamed": {
"VBN": 1,
"VBD": 2
}
}

关于java - 将字典文本文件加载到 Java 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30765945/

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