如何在android中呈现和选择json对象中的联系人?

如何在android中呈现和选择json对象中的联系人?,android,android-listview,contactpicker,Android,Android Listview,Contactpicker,我从服务器得到一个json响应,其中包含姓名和联系人号码键及其值。我想显示姓名和联系人号码详细信息,并将复选框作为一列显示,以便用户可以从这些联系人中选择多个联系人,并且只需单击按钮即可将联系人发送到服务器 我的json文件 { "users": "[{\"id\":1,\"name\":\"test_name\",\"contact\":\"23456543\",\"gender\":\"F\",\"age\":234,\"city\":\"delhi\",\"state\":\"india\

我从服务器得到一个json响应,其中包含姓名和联系人号码键及其值。我想显示姓名和联系人号码详细信息,并将复选框作为一列显示,以便用户可以从这些联系人中选择多个联系人,并且只需单击按钮即可将联系人发送到服务器

我的json文件

{
"users": "[{\"id\":1,\"name\":\"test_name\",\"contact\":\"23456543\",\"gender\":\"F\",\"age\":234,\"city\":\"delhi\",\"state\":\"india\",\"created_at\":\"2015-07-19T17:58:42.000Z\",\"updated_at\":\"2015-07-19T17:58:42.000Z\",\"district\":\"test_district\"},{\"id\":2,\"name\":\"test_name\",\"contact\":\"23456543\",\"gender\":\"F\",\"age\":234,\"city\":\"delhi\",\"state\":\"india\",\"created_at\":\"2015-07-19T17:58:42.000Z\",\"updated_at\":\"2015-07-19T17:58:42.000Z\",\"district\":\"test_district\"},{\"id\":3,\"name\":\"qwrrtt\",\"contact\":\"1234567890\",\"gender\":\"F\",\"age\":12,\"city\":\"Bokaro\",\"state\":\"Jharkhand\",\"created_at\":\"2015-07-19T18:01:16.000Z\",\"updated_at\":\"2015-07-19T18:01:16.000Z\",\"district\":\"Bokaro\"},{\"id\":4,\"name\":\"wetur\",\"contact\":\"1234567890\",\"gender\":\"F\",\"age\":22,\"city\":\"Bokaro\",\"state\":\"Jharkhand\",\"created_at\":\"2015-07-19T18:41:17.000Z\",\"updated_at\":\"2015-07-19T18:41:17.000Z\",\"district\":\"Bokaro\"},{\"id\":5,\"name\":\"tfjko\",\"contact\":\"1234567990\",\"gender\":\"F\",\"age\":34,\"city\":\"Bokaro\",\"state\":\"Jharkhand\",\"created_at\":\"2015-07-19T19:30:09.000Z\",\"updated_at\":\"2015-07-19T19:30:09.000Z\",\"district\":\"Bokaro\"},{\"id\":6,\"name\":\"tfjko\",\"contact\":\"1234567990\",\"gender\":\"F\",\"age\":34,\"city\":\"Bokaro\",\"state\":\"Jharkhand\",\"created_at\":\"2015-07-19T19:30:22.000Z\",\"updated_at\":\"2015-07-19T19:30:22.000Z\",\"district\":\"Bokaro\"},{\"id\":7,\"name\":\"fghjk\",\"contact\":\"4567890123\",\"gender\":\"F\",\"age\":45,\"city\":\"Bokaro\",\"state\":\"Jharkhand\",\"created_at\":\"2015-07-19T19:35:14.000Z\",\"updated_at\":\"2015-07-19T19:35:14.000Z\",\"district\":\"Bokaro\"},{\"id\":8,\"name\":\"cvbnm\",\"contact\":\"7894561203\",\"gender\":\"F\",\"age\":23,\"city\":\"Bokaro\",\"state\":\"Jharkhand\",\"created_at\":\"2015-07-19T19:37:42.000Z\",\"updated_at\":\"2015-07-19T19:37:42.000Z\",\"district\":\"Bokaro\"},{\"id\":9,\"name\":\"tfjko\",\"contact\":\"1234567990\",\"gender\":\"F\",\"age\":34,\"city\":\"Bokaro\",\"state\":\"Jharkhand\",\"created_at\":\"2015-07-19T19:53:14.000Z\",\"updated_at\":\"2015-07-19T19:53:14.000Z\",\"district\":\"Bokaro\"},{\"id\":10,\"name\":\"edgujn\",\"contact\":\"4894521360\",\"gender\":\"F\",\"age\":45,\"city\":\"Bokaro\",\"state\":\"Jharkhand\",\"created_at\":\"2015-07-20T02:45:01.000Z\",\"updated_at\":\"2015-07-20T02:45:01.000Z\",\"district\":\"Bokaro\"},{\"id\":11,\"name\":\"qwert\",\"contact\":\"4568217390\",\"gender\":\"F\",\"age\":45,\"city\":\"Bokaro\",\"state\":\"Jharkhand\",\"created_at\":\"2015-07-20T06:12:57.000Z\",\"updated_at\":\"2015-07-20T06:12:57.000Z\",\"district\":\"Bokaro\"},{\"id\":12,\"name\":\"surbhi\",\"contact\":\"1334567890\",\"gender\":\"F\",\"age\":12,\"city\":\"Bokaro\",\"state\":\"Jharkhand\",\"created_at\":\"2015-07-20T07:17:53.000Z\",\"updated_at\":\"2015-07-20T07:17:53.000Z\",\"district\":\"Bokaro\"},{\"id\":13,\"name\":\"preefu\",\"contact\":\"5641287092\",\"gender\":\"F\",\"age\":56,\"city\":\"Bokaro\",\"state\":\"Jharkhand\",\"created_at\":\"2015-07-20T07:23:54.000Z\",\"updated_at\":\"2015-07-20T07:23:54.000Z\",\"district\":\"Bokaro\"}]"
}

我现在把联系人和姓名放在单独的列表中。我应该怎么做才能把复选框放在那里?以及选择多个联系人并将其转发到服务器

 JSONObject ob = new JSONObject(strres);
        List<String> allNames = new ArrayList<String>();

        JSONArray cast = ob.getJSONArray("users");
        for (int i=0; i<cast.length(); i++) 
        {
            JSONObject actor = cast.getJSONObject(i);
            String name = actor.getString("name");
            allNames.add(name);
        }
JSONObject ob=新的JSONObject(stres);
List allNames=new ArrayList();
JSONArray cast=ob.getJSONArray(“用户”);
对于(int i=0;i
  • 请为您的数据创建一个Java pojo类。例如: 班主任{ 字符串Id; 字符串名; 已选择布尔值;//了解是否已选择此联系人

    }

  • 将所有Person对象添加到Arraylist

  • 若选中该复选框,则该位置的Person对象的isSelected为true,反之亦然
  • 然后你可以将联系人发送到服务器


    我希望这能有所帮助。

    就像Priya Singhal说的那样:

    public class Actor { //simplified
    
        private int id;
        private String name;
    
        public Actor(){}
    
        public Actor(int id, String name) {
            this.id = id;
            this.name = name;
        }
    }
    

    JSONObject json=new JSONObject();
    SparseArray actors=新SparseArray();
    JSONArray actorsJSON=null;
    试一试{
    actorsJSON=json.getJSONArray(“用户”);
    对于(int i=0;i
    
    JSONObject json = new JSONObject();
    SparseArray<Actor> actors = new SparseArray<Actor>();
    
    JSONArray actorsJSON = null;
    try {
        actorsJSON = json.getJSONArray("users");
        for (int i=0; i<actorsJSON.length(); i++){
            JSONObject actorJSON = actorsJSON.getJSONObject(i);
            Actor actor = new Actor(actorJSON.getInt("id"), actorJSON.getString("name"));
            actors.put(id, actor);
        }
     } catch (JSONException e) {
         e.printStackTrace();
     }