Problème pour récupérer des informations JSON
Bonjour,
Tout d'abord je suis débutant en Java donc désolé si mes explications ou mon code n'est pas très clair.
J'aimerai récupérer le contenu d'un JSON de la forme ci-dessous pour le mettre dans une liste. Malheureusement toutes les tentatives que j'ai essayé ont échouées.
Dans le Logcat il me met une error de parse (com.android.volley.ParseError: org.json.JSONException: Value [{"id":3,etc...)
Par ailleurs il me manque encore le code pour afficher dans une liste après.
Merci à vous pour votre aide
Voici un extrait du contenu du JSON :
Code:
[{"id":3,"is_recursive":1,"date_creation":null,"entities_id":1,"name":"NOMPC","serial":"5CDXXXX","contact_num":null,"users_id_tech":2,"groups_id_tech":0, etc....
Mon activité :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
| public class MenuActivity extends AppCompatActivity {
ImageButton btnpcmenu;
String a;
TextView textView2;
ListView computerlist;
ArrayAdapter computeradapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_menu);
btnpcmenu = findViewById(R.id.btnpcmenu);
textView2 = findViewById(R.id.textView2);
computerlist = findViewById(R.id.computerlist);
btnpcmenu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// https://localhost/apirest.php/Computer/?expand_drodpowns=true&session_token=rlkniaf6gqfsnamr1jr0pfhtsk
// Recuperation du session token
a = getIntent().getStringExtra("valeursessiontoken");
Log.d("recuperation", a);
// Récupération de la liste d'ordinateurs
String url = "https://localhost/apirest.php/Computer/?expand_drodpowns=true&session_token=" + a;
Log.d("URL", url);
List<computerselements> jsonResponses = new ArrayList<>();
RequestQueue requestQueue = Volley.newRequestQueue(MenuActivity.this);
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
try {
JSONArray jsonArray = new JSONArray(response);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject object = jsonArray.getJSONObject(i);
computerselements computer = new computerselements();
computer.setComputername(object.getString("name"));
jsonResponses.add(computer);
computeradapter = new ArrayAdapter(MenuActivity.this, android.R.layout.simple_list_item_1,android.R.id.text1,jsonResponses);
computerlist.setAdapter(computeradapter);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Log.d("error", error.toString());
}
});
requestQueue.add(jsonObjectRequest); |
Ma classe computerselements :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| public class computerselements {
int id;
String computername;
String serialnumber;
String comments;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getComputername() {
return computername;
}
public void setComputername(String computername) {
this.computername = computername;
}
public String getSerialnumber() {
return serialnumber;
}
public void setSerialnumber(String serialnumber) {
this.serialnumber = serialnumber;
}
public String getComments() {
return comments;
}
public void setComments(String comments) {
this.comments = comments;
}
} |