J'ai une sortie JSON comme celle-ci et i implémente à l'aide de Volley comme celle-ci p> mais ne fonctionne pas, aidez-vous merci beaucoup p> p>
5 Réponses :
Vous n'obtenez pas jsonarray code> n'importe où, votre objet de réponse a plusieurs
jsonObject code>
Avant de le faire, je vous suggère de lire sur l'objet JSON TRAY et JSON. Ici la solution.
HashMap<String, String> params = new HashMap<String, String>(); params.put("your json parameter name", json parameter value); // params.put("device_id", deviceID); Log.d("response11", String.valueOf(params)); String Url ="your server url"; JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.POST, Url, new JSONObject(params), new Response.Listener<JSONObject>() { @Override public void onResponse(JSONObject response) { Log.d(TAG + "JO", String.valueOf(response)); try { String msgObject = response.getString("message"); Log.d("response","msgObject"); }catch (JSONException e){ String jsonExp = e.getMessage(); Log.d(TAG + "JE", jsonExp); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { String volleyErr = error.getMessage(); Log.d(TAG + "VE", volleyErr); } }); requestQueue.add(jsonObjectRequest);
Vous pouvez utiliser un peu de lib pour volley (par exemple, volleyex ), avec GSON, pour analyser la Objet JSON à une carte en Java. P>
I.e. Utilisation de développeur.android.com a le code, mais là sont aussi des libs que cela pour vous. P>
Exemple ici p> GSONOBITEQUEST CODE> au lieu de
stringrequest code> p>
Veuillez marquer ceci comme solution si vous pensez que c'est la chose que vous voulez.
Utilisez http://jsonviewer.stack.hu/ [pour voir la structure de données JSON]
Supports
Essayez ceci
StringRequest request = new StringRequest(Request.Method.POST, ApiService.ORDER_BATTERY, new Response.Listener<String>() { @Override public void onResponse(String response) { try{ BookBattery bookBattery = new BookBattery(); JSONObject jsonObject = new JSONObject(response); String message = jsonObject.getString("message"); if (message.equalsIgnoreCase("success")) { String battery = jsonObject.getString("battery"); JSONObject dataObject = jsonObject.getJSONObject("data"); JSONObject shopDataObject = jsonObject.getJSONObject("shopData"); int dataId = dataObject.getInt("id"); int dataUserId = dataObject.getInt("userId"); int dataShopId = dataObject.getInt("shopId"); } else { Log.e("Your Array Response", "Data Null"); } } catch (JSONException e) { e.printStackTrace(); } } }, new Response.ErrorListener() { @Override public void onErrorResponse(VolleyError error) { Log.e("error is ", "" + error); } }) { //This is for Headers If You Needed @Override public Map<String, String> getHeaders() throws AuthFailureError { Map<String, String> params = new HashMap<String, String>(); params.put("Content-Type", "application/json; charset=UTF-8"); params.put("token", TokenUser); return params; } //Pass Your Parameters here @Override protected Map<String, String> getParams() { Map<String, String> params = new HashMap<String, String>(); params.put("shopId", String.valueOf(shopId)); //params.put("Pass", PassWord); return params; } }; AppController.getInstance().addToRequestQueue(request, tag_json_obj);
Vous ne recevez pas
jsonarray code> n'importe où.