بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

ذخیره اطلاعات دریافتی جیسون از JSONObjectRequest کتابخانه Volley در متغیرهای خارج از onResponse

مدیریت گفتگو
علی زنده دل 9 سال پیش
آخرین تغییر: 9 سال پیش

سلام دوستان

من با استفاده از Volley اطلاعات جیسون رو از سرور میگیرم. ولیتو ذخیره کردن این اطلاعات داخل کلاس User خودم مشکل دارم و ذخیره نمیکنه.

 

نمونه ی جیسون دریافتی

{
"user": {
"id":12,
"name":"test_name",
"email":"test@email.com"
}
}

کلاس User

public class User {

public int id;
public String name;
public String email;

کد JSONObjectRequest

JsonObjectRequest jsonObjReq = new JsonObjectRequest(Request.Method.GET,
    jsonURLFull, new Response.Listener<JSONObject>() {

      @Override
      public void onResponse(JSONObject response) {
          Log.d(ActivityLogin.class.getSimpleName(), response.toString());

          try {
              User userClass = new User();

              JSONObject jsonUser = response.getJSONObject("user");
              userClass.id = jsonUser.getInt("id");
              userClass.name = jsonUser.getString("email");
              userClass.email = jsonUser.getString("email");

          } catch (JSONException e) {
              e.printStackTrace();
              Toast.makeText(getApplicationContext(),
                "Error: " + e.getMessage(),
                Toast.LENGTH_LONG).show();
          }
          hidepDialog();
      }
  }, new Response.ErrorListener() {


      @Override
      public void onErrorResponse(VolleyError error) {
          VolleyLog.d(ActivityLogin.class.getSimpleName(), "Error: " + error.getMessage());
          Toast.makeText(getApplicationContext(),
            error.getMessage(), Toast.LENGTH_SHORT).show();
          hidepDialog();
      }
  });
  AppController.getInstance().addToRequestQueue(jsonObjReq);

ممنونم میشم کمکم کنید.

نظرات

Amir 9 سال پیش
شما JSON رو توی کلاس User ذخیره کردی ولی بعدش توی هیچ آرایه ای ذخیرش نکردید. چرا به جای JSONObject jsonUser = response.getJSONObject("user") از کد JSONObject jsonUser = new JSONObject(response) استفاده نمی کنید؟!
Amir 9 سال پیش
خب توی JSONObject ذخیرش کردم یعنی JSONObject برمیگردونه دیگه.

هنوز پاسخی ثبت نشده است


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .