{“name”:[“bineesh”,”Administrator”,”binu”,”binu”,”bijith”,”prem”,”rahul”],”email”:[“feawfewa@gmail.com”,”jytfj@gmail.com”,”werw@gmail.com”,”543534@gmail.com”,”nvbnb@gmail.com”,”gdfgd@gmail.com”,”utyuty@gmail.com”],”phone”:[“345366″,”12345″,”0″,”0″,”0″,”979797″,”7655775”]}
JSON parsing using to I retrieve all the name value. I showed that name in a list view but when I click first name I can’t get correct email, and phone number for name
Please help.
JSONObject myJson = new JSONObject(result);
JSONArray ja = myJson.getJSONArray("name");
JSONArray je = myJson.getJSONArray("email");
JSONArray jp = myJson.getJSONArray("phone");
int length=ja.length();
List<String> listContents = new ArrayList<String>(length);
for (int i = 0; i < length; i++) {
// employeeText.setText(ja.getString(i));
System.out.println(ja.getString(i));
listContents.add(ja.getString(i));
}
ArrayAdapter<String> a=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,listContents);
setListAdapter(a);
}
catch(JSONException e1){
Toast.makeText(getBaseContext(), "No name found" ,Toast.LENGTH_LONG).show();
} catch (ParseException e1) {
e1.printStackTrace();
}
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
// TODO Auto-generated method stub
super.onListItemClick(l, v, position, id);
if(id==0)
{
for (int i = 0; i < je.length(); i++) {
// employeeText.setText(ja.getString(i));
try {
System.out.println(je.getString(0));
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Intent i=new Intent(Employeedetail.this,details.class);
startActivity(i);
Instead i would suggest you create a JSON Array with object.
One Object is having name, email and phone values.
Because you just have to get an object from particular position only. It would also decrease load of this comparison.