我試圖用json.simple從這個JSON文件得到的東西: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部分「類型」值,並在途中的所有值相加。最後的含義我想要得到總和10(長度+標誌+序列+長度)和值「Type」的數字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解析器庫?換句話說,哪些不會導致授權問題?
您的示例沒有有效的JSON。兩個花括號缺失。 – ceving