第一个 JSON:
{
"datas":[
{
"id":"1",
"name":"Name 1",
"users":"1,3"
},
{
"id":"2",
"name":"Name 2",
"users":"2,5"
}
]
}
第二个 JSON:
{
"users":[
{
"id":"1",
"name":"User 1"
},
{
"id":"2"
"name":"User 2"
}
......
]
}
但无论我在哪里点击(名称 1 或名称 2),我总是会获得所有用户的列表
这就是我用来仅根据 id 过滤用户的方法:
@Override
protected Boolean doInBackground(String... urls) {
try {
String[] strMultiUsers = strEventUsers.split(",");
List<String> listMultiUsers = Arrays.asList(strMultiUsers);
HttpGet httppost = new HttpGet(urls[0]);
HttpClient httpclient = new DefaultHttpClient();
HttpResponse response = httpclient.execute(httppost);
int status = response.getStatusLine().getStatusCode();
if (status == 200) {
HttpEntity entity = response.getEntity();
String data = EntityUtils.toString(entity);
JSONObject jsono = new JSONObject(data);
JSONArray jarray = jsono.getJSONArray("users");
for (int i = 0; i < jarray.length(); i++) {
JSONObject object = jarray.getJSONObject(i);
UsersList oldEventsList = new UsersList();
oldEventsList.setId(object.getString("id"));
oldEventsList.setName(object.getString("name"));
if(listMultiUsers.contains(""))
{
}
oldEventsArrayList.add(oldEventsList);
}
return true;
}
我希望每当用户点击 Name 2 时,我只需要显示两个用户(用户 ID - 2 和 5),但我仍然得到所有用户(1 到 5)
最佳答案
我找到了解决方案,并为其他开发人员放置:
String strUsers = object.getString("id").toString();
Log.d("users", strUsers);
usersList.setName(object.getString("name"));
if(listMultiUsers.contains(strUsers))
{
usersListArrayList.add(usersList);
}
关于java - JSON 解析过滤逗号分隔的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29273570/