gpt4 book ai didi

java - 计算 json 文件中的键时出现问题

转载 作者:太空宇宙 更新时间:2023-11-04 09:44:34 25 4
gpt4 key购买 nike

我在尝试计算 json 文件中包含的键的数量时遇到了一些麻烦,特别是重复的键,因为它们只被计算一次。

我像这样打开/读取文件:

String line = "";
String fileContents = "";

try {
reader = new BufferedReader(new FileReader(inputFile));
} catch (FileNotFoundException ex) {
throw new LicensingException("Error: input file not found. ");

}

try {
while ((line = reader.readLine()) != null) {
fileContents += line;
}
} catch (IOException ex) {
throw new LicensingException("Error: input file could not be accessed.");
}

try {
reader.close();
} catch (IOException ex) {
throw new LicensingException("Error: input file could not be closed.");
}

并像这样创建 JsonObject:

JsonObject jsonLicense = null;
StringReader sr = new StringReader(fileContents);
jsonLicense = Json.createReader(sr).readObject();

完成此操作后,我继续计算对象中键的数量:

  int i = 0;

for (String key: jsonLicense.keySet()) {
i++;
}

但正如我之前所说,只有当所有键都不同时,这才有效,一旦我复制一个键,它们的键就只计算一次。

我正在尝试计算来自以下位置的键的 json 文件:

{"Station Name" : "Hello",
"Person in charge": "this",
"EMail": "is@an.com",
"Machine Name": "example",
"Type of License": "Starship",
"Type of License": "All"
}

最佳答案

构建 JSON 以将多个值视为数组,如下所示:

{
"Station Name" : "Hello",
"Person in charge": "this",
"EMail": "is@an.com",
"Machine Name": "example",
"Types of License": ["Starship", "All"]
}

然后计算与每个键而不是键关联的值的数量。

关于java - 计算 json 文件中的键时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55581773/

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