آموزش های این وب سایت به صورت رایگان در دسترس است. اطلاعات بیشتر
بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]

سوال در مورد جیسون تو درتو

علی  9 سال پیش  9 سال پیش
0 0

سلام:

من چکار کنم این دوتا آرایه درست add بشه داخل task ؟ اینطوری که گذاشتم ایتم ها درست  ادد نمیشه.

 
JSONObject object1 = object.getJSONObject("Data");

JSONArray product = object1.getJSONArray("products");
for (int i = 0; i < product.length(); i++) {
JSONObject pObject = product.getJSONObject(i);
StructHome task = new StructHome();
task.productId = pObject.getInt("id");


JSONArray layouts = object1.getJSONArray("layouts");
for (int iL = 0; iL < layouts.length(); iL++) {
JSONObject lObject = layouts.getJSONObject(iL);
task.layoutId = lObject.getInt("id");


G.home.add(task);

}

}
 
0 0
بجای اینکه دوبار حلقه For بزنید ، اگر سایز هر دو product و layouts برابر هست همون یکبار حلقه کافیه ، اما اگر سایز ها برابر نیست حلقه For رو بر اساس اونی که سایز بیشتری داره انجام بدید و برای اونجاهایی که index خطا میده مقدار خالی قرار بدید (9 سال پیش)
+2 0
یا میتونید توی حلقه دوم از G.home مقدار هارو get کنید که به شما StructHome میده و اینجا دوباره مقدار رو بهش اضافه کنید (9 سال پیش)
 برای این سوال 1 پاسخ وجود دارد.
پاسخ به سوال 
علی  9 سال پیش
0 0

criss عزیز راه دوم با جیسون من فکر می کنم بهتر باشه ؟ توی این جیسون شاید به Data آرایه اضافه بشه مثل layouts و products که سایزاشون برابر نیست. فقط برای راه دوم توضیح بیشتری می خوام .ممنون.

  "Data": {
"products": [
{
"id": 34,
"type": "product",
"name": "دو نفره Anet",
"price": 3399000,
"image": "http://rola.ir/product/34/diamond-2_25afe2e55fa930bc13308a8eef6a0a51.jpg"
},
{
"id": 36,
"type": "product",
"name": "تک نفره TOYA",
"price": 1200000,
"image": "http://rola.ir/product/36/coca-1_7031b3d8325ccaf1a4f39564288f2258.jpg"
},
{
"id": 35,
"type": "product",
"name": "سه نفره Anet",
"price": 4535000,
"image": "http://rola.ir/product/35/diamond-3_aaf12afbe82465b41e2143f6eacc6883.jpg"
}
],
"layouts": [
{
"id": 1,
"type": "layout",
"image": "http://rola.ir/layout/1/3_thumb_2978e4b6027c51e3e200ece1c59bebe2.jpg"
}
]
}

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