如何从JSON对象获取密钥

时间:2018-10-04 07:32:58

标签: java android json android-studio

我有json数组:

{"objets":{"1":"Question","2":"Response"},"success":true}

我想测试在微调器上选择的文本是否存在于数组中,它将返回数字(1或2)。

这是我到目前为止所做的:

String responseContent = response.asString();
                                    Log.d("OBJECTS", responseContent);
                                    try {
                                        JSONObject jobj = new JSONObject(responseContent);
                                        JSONObject users = jobj.getJSONObject("objetcs");
                                        Log.e("hello", String.valueOf(users));

                                        if(users.toString().contains(spinner_objet.getSelectedItem().toString().trim())){
                                            Log.e("hello", "it exist");
                                            String user=users.getString("id");
                                            Log.e("hello1", String.valueOf(user));
                                        }


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

但是我什么也没得到,有人可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

您可以像这样将Json解析为hashMap:

JSONObject object = new JSONObject();
Map<String,Integer> map = new HashMap<>();
while (object.keys().hasNext() ){
    Integer key = (Integer) object.keys().next();
    map.put((String) object.get(String.valueOf(key)), key);
}

然后可以使用地图的值放入微调器。

map.values();

只要用户从微调框中选择,就可以从地图上获取ID。