Как получить ключ от объекта json - PullRequest
0 голосов
/ 04 октября 2018

У меня есть массив 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 голосов
/ 04 октября 2018

Вы можете проанализировать ваш 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();

Всякий раз, когда пользователь выбирает из счетчика, вы можете получить идентификатор с карты.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...