我有这个json文本,它有一些与头部疾病相关的症状:
{
"Head": {
"Agitation": {
"conditions": "Generalized anxiety disorder,Medication reaction or side-effect"
},
"Anxiety": {
"conditions": "Generalized anxiety disorder,Depression (Adult)"
},
"Apathy": {
"conditions": "Depression (Adult),Medication reaction or side-effect,Dementia in head injury"
}
}
}
我想要的是使用for循环访问和显示此Head块中的每个症状,然后访问每个症状的条件并将它们分别存储为数组。
这个java代码有效,但它的功能有限:
JSONObject jsonObject = (JSONObject) object;
JSONObject bodyPart = (JSONObject) jsonObject.get("Head");
JSONObject symptoms = (JSONObject) name.get("Agitation");
String res = (String) symptoms.get("conditions");
String[] tokens = res.split(",");
for (int i = 0; i < tokens.length; i++){
System.out.println(tokens[i]);}
除了只显示激动条件外,如何显示与每种症状相关的每个条件,而不必手动将其String值传递给get方法?
我不知道是否应该使用JSONArray“Head”代替JSONObject来访问症状。
答案 0 :(得分:0)
假设这是org.json
包,您可以使用JSONObject
的{{1}}方法获取对象密钥的迭代器。
keys()
答案 1 :(得分:0)
我的朋友,如果你正在使用java,使用对象,没有纯文本,我建议使用Json.simple,
通过这种方式,您可以拥有List
个对象并使用所需的属性,请查看链接示例。