我有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();
}
但是我什么也没得到,有人可以帮助我吗?
答案 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。