如何在我的 JSON 对象中获取相应的 JSON 值?

查里斯

name在 my ToastinonItemClick获取价值ListView我可以做,但我如何获得code价值?

我有一个 JSON 数组,如下所示:

 [
    {
      "code": "123",
      "name": "Jim"
    },
    {
      "code": "456",
      "name": "Sally"
    },
    {
      "code": "789",
      "name": "Bob"
    },
    {
      "code": "012",
      "name": "Jill"
    },
  etc...
  ]

我得到这样的name价值ListView

public void onStart(){
        super.onStart();

        //  Create json array request
        JsonArrayRequest jsonArrayRequest=new JsonArrayRequest(Request.Method.POST,
                "http://www.nameofsite.com/nameoffile.php", (JSONArray)null, new Response.Listener<JSONArray>(){
            public void onResponse(JSONArray jsonArray){
                // Successfully download json
                // So parse it and populate the listview
                for(int i=0;i<jsonArray.length();i++){
                    try {
                        JSONObject jsonObject=jsonArray.getJSONObject(i);
                        items.add(jsonObject.getString("name"));
                    } catch (JSONException e) {
                        e.printStackTrace();
                    }
                }
                adapter.notifyDataSetChanged();
            }
        }, new Response.ErrorListener() {
            @Override
            public void onErrorResponse(VolleyError volleyError) {
                Log.e("Error", "Unable to parse json array");
            }
        });
        // Create request queue
        RequestQueue requestQueue= Volley.newRequestQueue(this);
        // add json array request to the request queue
        requestQueue.add(jsonArrayRequest);
    }

ToastnameonItemClick这样的:

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
        TextView myTextView = (TextView) view.findViewById(R.id.txt);
        String text = myTextView.getText().toString();
        Toast.makeText(getApplicationContext(),text, Toast.LENGTH_LONG).show();
    }
});

但我想要 . 中的code值,而toast不是name. 我该怎么做?

一个板球运动员

但我想要吐司中的代码值,而不是名称

然后,您需要"code"从 JSON 中实际解析 ,不仅仅是 "name",并将其添加到您的适配器中。

例如,解析它

String code = jsonObject.getString("code");
String name = jsonObject.getString("name");
items.add(code + " " + name);

敬酒

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
        String[] parts = items.get(i).split(" ");
        Toast.makeText(getApplicationContext(),parts[0], Toast.LENGTH_LONG).show();
    }
});

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章