его фактически простой код, из-за отсутствия базового я все еще не могу справиться с этим.Как получить строку из Json Array
После того как я сделал сообщение JSON метод на собственном Апи, я получаю следующий ответ
[{"id":"2"}]
То, что я пытаюсь добиться, что я хотел бы получить значение этого «ид», который это «2».
Я попытался следующий код в моем частном ничтожной методе
private void getUserID() {
StringRequest stringRequest = new StringRequest(Method.POST,Constants.GET_USER_ID,
new Response.Listener<String>() {
@Override
public void onResponse(String response) {
Toast.makeText(MainActivity.this, response, Toast.LENGTH_LONG).show();
try {
JSONObject jsonRootObject = new JSONObject(strJson);
//Get the instance of JSONArray that contains JSONObjects
JSONArray jsonArray = jsonRootObject.optJSONArray("");
//Iterate the jsonArray and print the info of JSONObjects
for(int i=0; i < jsonArray.length(); i++){
JSONObject jsonObject = jsonArray.getJSONObject(i);
int id = Integer.parseInt(jsonObject.optString("id").toString());
String idUser = jsonObject.optString("id").toString();
}
output.setText(idUser);
} catch (JSONException e) {e.printStackTrace();}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
Toast.makeText(MainActivity.this, error.toString(), Toast.LENGTH_LONG).show();
}
})
{
@Override
protected Map<String, String> getParams() throws AuthFailureError {
Map<String, String> map = new HashMap<>();
map.put(Constants.KEY_A, username);
map.put(Constants.KEY_B, password);
return map;
}
};
RequestQueue requestQueue = Volley.newRequestQueue(this);
requestQueue.add(stringRequest);
}
я получить его от here.
Это немного отходов, потому что у меня есть только один объект списка в моем массиве, и я думаю, что для цикла здесь не очень важно.
'strJson' является JSONArray вместо JSONObject так сделать это, как: 'JSONArray jsonArray = новый JSONArray (strJson); int _id = jsonArray.getJSONObject (0) .getInt ("id"); 'не нужно использовать for-loop, если JSONArray содержит только один элемент –
, если у вас есть только один элемент, тогда удалите jsonarray..и сделайте ответ вроде этого { id ":" 2 "} .. then get id –