PDA

View Full Version : ردیافت جسیون و تبدیل به ارایه متناظر



masiha68
دوشنبه 30 فروردین 1395, 06:37 صبح
سلام دوستان
من همیچن جیسونی دارمhttps://paste.ubuntu.ir/xori
و حالا میخوام اونو تبدیل به ارایه متناظر کنم
توی تبدیلش زاد مشکل ندارم ...مشکل اصلی توی اینه که چجوری توی ادپتر داده ها رو ست کنم و طالاعات رو از ارایه بکشم بیرون
کسی اموزشی،راهنمایی ، چیزی نداره

msroid
دوشنبه 30 فروردین 1395, 08:37 صبح
سلام

میتونی از کتابخانه Gson (https://github.com/google/gson) استفاده کنی. با استفاده از این کتابخانه کار خیلی راحت میشه و نیازی نیست کار خاصی انجام بدی. تنها کاری که میخواد انجام بدی اینه که یه کلاس بسازی مطابق رشته جیسون که داری و وقتی اطلاعات رو میگیری این کتابخانه بهت کمک میکنه که اطلاعات رو از اون رشته بخونی و در فیلد متناظر در کلاسی که ساختی قرار بدی.

masiha68
دوشنبه 30 فروردین 1395, 09:36 صبح
ممنون
اون کلاسی رو که ساختم باید تو حلقه بزارم تا اطلاعات ست بشه ی هموینکه کلاس رو به Gson معرفی کردم خودش اطلاعات رو ست می کنه و اینکه جیسون من یه ذره تو درتو هستش ...
توی ادپتر چجوری اطلاعات رو ست کنم
اگه امکانش باشه یه مثال بزنید

msroid
دوشنبه 30 فروردین 1395, 15:45 عصر
اگر رشته جیسون شما فقط شامل یک شی میشه یعنی یکبار که کلاس پر بشه کار تمومه پس فقط نوع کلاس رو بهش معرفی میکنین. اما اگر رشته جیسون شما شامل چندین شی هست و همه اونها از نوع کلاسی که ساختین هستن باید یک ArrayList بسازین و نوع ورودی این آرایه رو از نوع اون کلاسی که قبلا ساختین قرار بدین. و بعد نوع این ArrayList رو به کلاس Gson معرفی میکنین و به صورت خودکار این ArrayList رو برای شما پر میکنه و بعدا میتونین همین ArrayList رو به عنوان ورودی آداپتر استفاده کنین.

masiha68
سه شنبه 31 فروردین 1395, 05:15 صبح
این ارور رو میده
java.lang.NullPointerException

msroid
چهارشنبه 01 اردیبهشت 1395, 17:56 عصر
من یه کلاس دارم و داده های جیسونی هم که میگیرم منطبق با این کلاسه:


ArrayList<Places> placesArrayList = new ArrayList<>();
Gson gson = new GsonBuilder().create();
Type listType = new TypeToken<ArrayList<Places>>() {}.getType();
placesArrayList = gson.fromJson(jsonData, listType);



و اینجوری تمام اطلاعات رو در قالب کلاس مربوطه و در یک ArrayList به دست میارم.