我的json字符串在这里
{
"user": {"id": "S5675","name": "soman"},
"main": {"class1": { "modules": ["1","2"],
"subjects": { "english": {"type": "english","module_id": "1"},
"hindi": {"type": "hindi", "module_id": "2",}}},
"class2": {"modules": ["2","3"],
"subjects": {"english": {"type": "english","module_id": "2"},
"hindi": {"type": "urdu", "module_id": "3",}}}}}
我想提取class1,class2及其相应的主题。这里是class1 - 英语和印地语。而对于class2 - 英语和乌尔都语。我试过以下
JSONObject subObj = json.getJSONObject("main"); //get class1 and class2
Iterator<String> keys=subObj.keys();
while(keys.hasNext()){
String key=keys.next();
Log.i("key","" + key);
}
我得到class1和class2。但是如何从json以上提取相应的主题。请建议
答案 0 :(得分:3)
他们是所有JSONObjects,因此将其提取为
JSONObject subObj = json.getJSONObject("main"); //get class1 and class2
JSONObject class1 = subObj.getJSONObject("class1");
JSONObject subjects= class1.getJSONObject("subjects");
JSONObject english= subjects.getJSONObject("english");
// Get the values
String type = english.getString("type");
int moduleId = english.getInt("module_id");
JSONObject hindi= subjects.getJSONObject("hindi");
...
现在以相同的方式进入印地语并提取值。为class2做同样的事。