آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

آموزش جاوا و اندروید

یادداشت های یک برنامه نویس معمولی

طبقه بندی موضوعی

سورس جیسونی که قراره دیسریالایز بشه:

[
  {
    "name": "Christian",
    "flowerCount": 1
  },
  {
    "name": "Marcus",
    "flowerCount": 3
  },
  {
    "name": "Norman",
    "flowerCount": 2
  }
]

 

نحوه دیسریالایز کردن:

private void deSerialize() {

    String jsonSrc ="[\n" +
            "    {\n" +
            "      \"name\": \"Christian\",\n" +
            "      \"flowerCount\": 1\n" +
            "    },\n" +
            "    {\n" +
            "      \"name\": \"Marcus\",\n" +
            "      \"flowerCount\": 3\n" +
            "    },\n" +
            "    {\n" +
            "      \"name\": \"Norman\",\n" +
            "      \"flowerCount\": 2\n" +
            "    }\n" +
            "]";

    Founder[] founders = new Gson().fromJson(jsonSrc, Founder[].class);

}

در اینجا یک آرایه از جنس Founder داریم.

نکتش اینه که قسمتی که کلاس مدل رو معرفی میکنیم باید انتهاش کروشه قرار بدیم.

 

خروجی:

 

حالا اگر بخواهیم خروجی در یک لیست ریخته بشه:

(متاسفانه خط اول یه مقدار حفظی طوره)

Type type = new TypeToken<ArrayList<Founder>>(){}.getType();
List<Founder> founders = new Gson().fromJson(jsonSrc, type);

 

خروجی:

 

نکته مهم: فقط در صورتی که روت جیسون از جنس آرایه باشه باید از Type استفاده کنیم یا کروشه باز و بسته در انتهای اسم کلاس قرار دهیم. در غیر این صورت (یعنی اگر روت آکولاد باشه) نیازی نیست و مثل قبل فقط اسم کلاس مدل رو مینویسیم.

موافقین ۰ مخالفین ۰ ۹۹/۰۹/۱۱
میم دال

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی