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

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

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

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

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

انوتیشن SerializedName:

این انوتیشن اسامی فیلدها رو در سریالایزر و دیسریالایزر تغییر میده. اینجوری استفاده میشه:

 

public class User {

    @SerializedName("full_name")
    private String name;
    private String email;
    private int age;
    private Boolean isDeveloper;

    public User(String name, String email, int age, Boolean isDeveloper) {
        this.name = name;
        this.email = email;
        this.age = age;
        this.isDeveloper = isDeveloper;
    }
}

در این حالت برای دیسریالایز مشکل داریم و فیلد name نال خواهد بود. چرا؟ چون در دیسریالایز دنبال فیلدی به نام full_name میگرده و پیداش نمیکنه. برای حل این مشکل این انوتیشن را به صورت زیر استفاده میکنیم:

 

@SerializedName(value = "full_name", alternate = "name")
private String name;

یعنی فقط در دیسریالایز دنبال فیلدی به نام full_name یا name بگرد. (alternate فقط برای دیسریالایز هست)

alternate میتونه چند تا مقدار بگیره که توی آکولاد نوشته میشه.

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

نظرات  (۰)

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

ارسال نظر

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