PDA

View Full Version : دی سریالایز کردن اطلاعات سریالایز شده توسط javascriptserializer



rezaei_y
پنج شنبه 27 شهریور 1393, 09:27 صبح
با سلام به همه دوستان

مقدار بازگشتی متدم در web api mvc رو با استفاده از javascriptserializer سریالایز کردم الان توی اندروید اون اطلاعات رو میخونم ولی نمیتونم به صورت یک لیست یا ارایه دربیارم
این خروجی منه

"[{\"Id\":1,\"BookName\":\"کتاب 1\",\"Author\":\"نویسنده کتاب 1\"}]"


چطور میتونم اینو دیسریالایز کنم

با تشکر

rezaricky
پنج شنبه 27 شهریور 1393, 11:00 صبح
سمت سرور دیتا رو بصورت JSON بفرست و در اندروید با استفاده از کلاس های JSONArray و JSONObject رشته JSON رو به لیست تبدیل کن :
یک مثال کلی :
public class Item { public int id;
public string bookName;
public string author;
}
List<Item> items = new ArrayList<Item>();


public void saveToList(String json ) {
JSONArray jsonArray = new JSONArray(json);
for (int i = 0; i < jsonArray.length(); i++) {
JSONObject jsonObject = jsonArray.getJSONObject(i);
int id = jsonObject.getInt("id");
String name = jsonObject.getString("BookName");
String author = jsonObject.getString("Author");
Item item = new Item();
item.id = id ;
item.bookname = name;
item.author = author;
items.add(item);

}
Log.d("items" , items.toString());
}

rezaei_y
پنج شنبه 27 شهریور 1393, 11:56 صبح
ممنون دوست عزیز

saeed_g21
پنج شنبه 27 شهریور 1393, 12:16 عصر
دوستان عزیز

آیا از سرعت JSON راضی هستید ؟
من یکبار استفاده کردم سرعتش خیلی کند بود تاحدی که مجبور شدم حذف کنم و از روش دیگه ای استفاده کنم
فقط یک تاریخ برمیگردوند گاهی 2 دقیقه طول میکشید!!!

rezaricky
پنج شنبه 27 شهریور 1393, 14:38 عصر
JSON به نوعی جایگزین XML شده و برای دستگاههای پرتابل مثل موبایل خیلی مناسبه چون پارس کردنش خیلی راحت تره و پردازش کمتری می خواد.

shahin bahari
پنج شنبه 27 شهریور 1393, 15:46 عصر
سعید جان چه کار کرده بودی که 2 دقیقه طول می کشید؟! من لیست های طولانی رو هم با json گرفتم مشکلی نداشته. چون تکست بیس هست راحت ارسال و دریافت میشه. حجمش هم از معادل xml کمتر هست. به نظر من مشکل شما تو ارسال درخواست بوده. اگر خواستی اون تیکه کدی که درخواست رو می فرستی رو بزار یه بررسی کنیم....

saeed_g21
پنج شنبه 27 شهریور 1393, 15:55 عصر
سلام شاهین جان

راستش موقع اجرای برنامه نیاز داشتم که تاریخ و ساعت روز رو داشته باشم با توجه به این که امکان داره تاریخ و ساعت توسط کاربر تغییر کند و تنظیم ساعت روی دستگاه ممکن نبود امدم با json از سروری با php تاریخ رو می گرفتم بعد ادامه مرحله میرفتم

کد رو کلا حذف کردم باید ببینم داخل backup هام هست اگه باشه حتما میزارم دست شما هم درد نکنه

الانم وقت دکتر دارم باید برم برگشتنی حتما اطلاع میدم

rezaei_y
جمعه 28 شهریور 1393, 13:04 عصر
فعلا دارم اطلاعات رو از لوکال هاست میخونم سرعتش خیلی خوبه