从 JSONObject 获取键和值

新手上路,请多包涵

我正在尝试从我的 JSONObject 中提取键和值。但我无法做到这一点。这是 JSON:

 [{"id":["5"]},{"Tech":["Java"]}]

它最初是一个字符串。我已经使用以下方法将其转换为 JSONObject:

 JSONObject jsonObj = new JSONObject("[{"id":["5"]},{"Tech":["Java"]}]");

然后我试图通过以下方式获取键和值:

 jsonObj.getString("id");

但它给了我空。有谁可以帮我离开这里吗?

原文由 user7637864 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 585
1 个回答

尝试这个:

 try {
    JSONArray jsonArr = new JSONArray("[{\"id\":[\"5\"]},{\"Tech\":[\"Java\"]}]");

    for (int i = 0; i < jsonArr.length(); i++) {
        JSONObject jsonObj = jsonArr.getJSONObject(i);
        String k = jsonObj.keys().next();
        Log.i("Info", "Key: " + k + ", value: " + jsonObj.getString(k));
    }

} catch (JSONException ex) {
    ex.printStackTrace();
}

原文由 Wajih 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题