【问题标题】:Read json values with nested objects使用嵌套对象读取 json 值
【发布时间】:2015-06-05 05:55:00
【问题描述】:

我的 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中提取相应的主题。请建议

【问题讨论】:

标签: android json


【解决方案1】:

都是JSONObject,所以提取出来

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 执行相同操作。

【讨论】:

    猜你喜欢
    • 2020-11-09
    • 1970-01-01
    • 1970-01-01
    • 2018-10-12
    • 2020-10-31
    • 2022-11-21
    • 1970-01-01
    • 2018-05-29
    • 1970-01-01
    相关资源
    最近更新 更多