gpt4 book ai didi

java - Json解析: Iterating through the values?

转载 作者:行者123 更新时间:2023-12-01 20:26:59 25 4
gpt4 key购买 nike

我正在尝试使用 json.simple 从此 json 文件中获取内容:

"Main": {
"Part1":{
"Length": 2,
"Flags": 2,
"Sequence": 4
},
"Part2":{
"Length": 2,
"Type":2,
"Main_Dest":4,
"Main_Source":4,
"Sequence":4,
"Data": {
"1":12,
"2":24
},
"Blank": 8
}
}

基本上,我想达到第 2 部分中的“类型”值,并在此过程中添加所有值。这意味着最后我想要“Type”值的总和为 10(长度+标志+序列+长度)和数字 2。我这里的主要问题是我必须通用地执行此操作,因此我不能仅按名称收集值,因为它们可能会更改或可能会添加其他值。只有值“Type”将始终被准确地调用。

到目前为止我所做的是:

private static void parseJson() {
String path = "...config.json";
boolean count = false;
int sum = 0;
try {
FileReader reader = new FileReader(path);
JSONParser jsonParser = new JSONParser();
JSONObject jsonObject = (JSONObject) jsonParser.parse(reader);
jsonObject.entrySet();
JSONObject main = (JSONObject) jsonObject.get("Main");
for (Iterator iterator = main.keySet().iterator(); iterator.hasNext();){
String key = (String) iterator.next();

//this is where I'm stumped. Do I keep going into the JSONObject until I get to a value?

if (count){
sum += (int) sahara.get(key);
}
if (key.equals("Type")){
count = true;
}

}
System.out.println(skip);
} catch (Exception e) {

}

}

显然我真的不知道我在用这个做什么。如何迭代 json 文件中的最低级别?

作为一个小问题,如果我可以出售我的软件,我应该使用哪些 Json 解析器库?换句话说,这不会导致许可问题?

最佳答案

您可以递归地迭代键,但无法计算总和,结果将不可预测。

jsonObject.keySet 不保证按照文件中出现的顺序返回键。

关于java - Json解析: Iterating through the values?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43737601/

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