【发布时间】:2016-07-27 19:51:27
【问题描述】:
我有一个像这样的 json 文件:
{
"a1" : {
"Contestant 1 marks" : 44,
"Contestant 10 marks" : 30,
"Contestant 11 marks" : 15,
"Contestant 12 marks" : 35,
"Contestant 13 marks" : 28,
"Contestant 14 marks" : 8,
"Contestant 2 marks" : 35,
"Contestant 3 marks" : 30.899999618530273,
"Contestant 4 marks" : 39,
"Contestant 5 marks" : 45,
"Contestant 6 marks" : 47,
"Contestant 7 marks" : 17,
"Contestant 8 marks" : 37,
"Contestant 9 marks" : 35
},
"a2" : {
"Contestant 1 marks" : 35,
"Contestant 10 marks" : 30,
"Contestant 11 marks" : 15,
"Contestant 12 marks" : 35,
"Contestant 13 marks" : 28,
"Contestant 14 marks" : 8,
"Contestant 2 marks" : 30,
"Contestant 3 marks" : 30.899999618530273,
"Contestant 4 marks" : 39,
"Contestant 5 marks" : 45,
"Contestant 6 marks" : 47,
"Contestant 7 marks" : 17,
"Contestant 8 marks" : 37,
"Contestant 9 marks" : 35
}
}
这里好像有两个 JSON 对象 a1,a2。而这些对象本身就有 14 个 JSON 对象。
我有一个 String completeJson;,其中包含完整的 JSON。
现在我写的时候
JSONObject jsonRootObj = new JSONObject(completeJson);
那么json对象会进入jsonRootObj呢?
另外,我如何在我的 JSON 文件中获取密钥的值:a1 和 a2 的“参赛者 1 分数”?
我想将a1 中的对象的值与a2 中具有相同KEY 的对象的值相加。
【问题讨论】:
-
jsonRootObj.get("a1").get("Contestant 1 scores") 因为您发布的json不包含任何数组
-
对不起,你需要投:((JSONObject)jo.get("a1")).get("参赛者1分")