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

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

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

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

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

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

 

1. اون فیلد رو transient تعریف کنیم. اینجوری:

private transient Boolean isDeveloper;

در این صورت این فیلد در سریالایز وجود نخواهد داشت و در دیسریالایز حتا اگر در جیسون مقدار داشته باشد اما نال خواهد گرفت.

 

2. روش بهتر که استفاده از انوتیشن Expose است.

@Expose(serialize = true, deserialize = false)
private String email;

اینجا میگیم سریالایز بشه ولی دیسریالایز نشه. البته میشه آرگومان این انوتیشن رو خالی گذاشت. در این صورت هر دو کار انجام میشه.

 

هنگام استفاده از این انوتیشن Gson باید اینجوری تعریف شه:

Gson gson = new GsonBuilder().excludeFieldsWithoutExposeAnnotation().create();

نکته: با این روش تعریف Gson، اگر فیلدی انوتیشن Expose رو نداشته باشه، سریالایز و دیسریالایز نخواهد شد.

 

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

نظرات  (۱)

عالی بود مرسی

ارسال نظر

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