java如何基于某个变量获取特定的JSON对象?
当只有一个对象时,从数据库中检索变量并没有问题 但当我只想从user1或user2检索变量时,安卓中的文本不会显示任何内容
这是我的php代码数组
{"users":[{"id":"5","name":"user1","updated_at":"2020-10-21 13:35:10"},{"id":"6","name":"user2","updated_at":"2020-10-21 11:29:53"}]}
这是我的java代码
private void getData(String name) {
String tag_string_req = "get";
ArrayList<HashMap<String, String>> list_data;
list_data = new ArrayList<HashMap<String, String>>();
StringRequest strReq = new StringRequest(Method.GET,
AppConfig.URL_GET, new Response.Listener<String>() {
@Override
public void onResponse(String response) {
try {
JSONObject jsonObject = new JSONObject(response);
JSONArray jsonArray = jsonObject.getJSONArray("users");
for (int a = 0; a < jsonArray.length(); a++) {
JSONObject json = jsonArray.getJSONObject(a);
String pengguna = jsonObject.getString("name");
if (pengguna.contains(name)) {
HashMap<String, String> map = new HashMap<String, String>();
map.put("updated_at", json.getString("updated_at"));
list_data.add(map);
}
update_time.setText(list_data.get(0).get("updated_at"));
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(getApplicationContext(),
error.getMessage(), Toast.LENGTH_LONG).show();
hideDialog();
}
});
AppController.getInstance().addToRequestQueue(strReq, tag_string_req);
}
我的问题是如何基于某个变量获取特定的JSON对象?所以安卓中的文本只显示基于用户的文本
edit:php代码中的一些编辑已经解决了这个问题,因此只有基于用户从数据库中获取的对象
我在安卓系统中的回应
{"users":[{"id":"6","name":"user2","updated_at":"2020-10-21 13:35:10"}]}
现在的问题是,尽管响应已经正确,但textview没有显示值
# 1 楼答案
您可以按照以下步骤进行查找:
JSONObject jsonObject = new JSONObject();
jsonObject.getJSONObject("key");
我想这会解决你的问题