मैं इस बात का निर्णय कर रहा हूं कि मॉडल डेटा को क्रमबद्ध और डिस्क्रिअलाइज़ करने के लिए स्क्वायर या गॉन द्वारा मोशी का उपयोग करना है या नहीं।
एक बात मुझे हमेशा Gson के बारे में पसंद नहीं थी क्या मुझे लगता है कि यह प्रतिबिंब का उपयोग करता है जो कि एंड्रॉइड पर धीमा हो सकता है? क्या मोशी प्रतिबिंब का भी उपयोग करता है?
मोशी बनाम गसन के पेशेवरों और विपक्षों में से कुछ क्या हैं?
मैं उन्हें ऐसे ही देखता हूं। उदाहरण के लिए यह कथन है कि एक बनाता हैtypeAdapter:
class CardAdapter {
@ToJson String toJson(Card card) {
return card.rank + card.suit.name().substring(0, 1);
}
@FromJson Card fromJson(String card) {
if (card.length() != 2) throw new JsonDataException("Unknown card: " + card);
char rank = card.charAt(0);
switch (card.charAt(1)) {
case 'C': return new Card(rank, Suit.CLUBS);
case 'D': return new Card(rank, Suit.DIAMONDS);
case 'H': return new Card(rank, Suit.HEARTS);
case 'S': return new Card(rank, Suit.SPADES);
default: throw new JsonDataException("unknown suit: " + card);
}
}
}
और इसे उपयोग करने के लिए इसे रजिस्टर करें जैसे कि gson में:
Moshi moshi = new Moshi.Builder()
.add(new CardAdapter())
.build();
मुझे लगता है कि फायदे के प्रकार में इस्तेमाल किया जा रहा एनोटेशन होगा। अगर मुझे मोशी पर स्विच करना है तो मुझे यह पता लगाना है कि कोई प्रदर्शन लाभ है या नहीं।