Model verilerini serileştirmek ve serileştirmek için Moshi by square veya Gson'un kullanılıp kullanılmayacağına karar veriyorum.Android için Moshi vs Ghi
Gson hakkında her zaman sevmediğim bir şey, Android'de yavaş olabilecek yansımayı kullanmak olduğunu düşünüyorum. Moshi de yansımayı kullanıyor mu?
Moshi vs Gson'un artıları ve eksileri nelerdir?
Onları benzer şekilde görüyorum.
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);
}
}
}
ve sadece GSON gibi kaydetmek kullanmak: örneğin bir typeAdapter yaratan bu ifadesini almaya
Moshi moshi = new Moshi.Builder()
.add(new CardAdapter())
.build();
i avantajları typeAdapter kullanılıyor ek açıklama olacağını tahmin ediyorum. Moshi'ye geçersem herhangi bir performans kazancı olup olmadığını öğrenmek istiyorum.
Yansıma – j2emanue
@ j2emanue kullanıyor mu? Bir uygulama ayrıntısı olarak, özel sınıflarınız için varsayılan JsonAdapters, alanları yansıtma ile ayarlayacaktır. –