有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

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) 个答案

  1. # 1 楼答案

    您可以按照以下步骤进行查找:

    JSONObject jsonObject = new JSONObject();

    jsonObject.getJSONObject("key");

    我想这会解决你的问题