Realm

2016-04-01 24 views
0

ile kullanmak için tamsayı ve dize içeren diziler içeren realm nesnesi ve dizisi ayırma dizisi Benim sorum nasıl serileştirmeli ve her biri bir dize ve bir tamsayı içeren diziler içinde bulunan "uzmanlık" alan nesnesine nasıl bakmalıyım. Ben gson ile realm kullanıyorum. Şöyle bir JSON alırsınız: Bu durumda `Realm

{ 
"status":200, 
    "message":"", 
    "data":{ 
     "specialties":[ 
     [ 
      "allergist", 
      1 
     ], 
     [ 
      "anesthesiologist", 
      1 
     ], 
     [ 
      "cardiologist", 
      1 
     ], 
     [ 
      "dermatologist", 
      0 
     ], 
     [ 
      "gastroenterologist", 
      1 
     ], 
     [ 
      "hematologist", 
      1 
     ], 
     [ 
      "nephrologist", 
      0 
     ], 
     ... 
     ] 
    } 
} 

`

+0

Olası kopya [Google Gson - serileştirme listesi nesnesi? (jenerik tip)] (http://stackoverflow.com/questions/5554217/google-gson-deserialize-listclass-object-generic-type) –

+0

'Uzmanlıklar' gerçekten bir Listeler Listesi içeriyor mu veya iç listeler Nesneler mi? Gerçekten de Listelerse, her ikisi için de desteklenen tek bir tür, hem bir Dize hem de Tamsayı içerdiğinden, 'List 'olacaktır. –

+0

Gerçekten bir liste listesi, benim için ilk defa bir listede farklı ilkelleri görüyorum. JSON'u kopyalayıp kopyaladım – belen

cevap

1

, bu Realm destekleyebilir şey değildir. Realm şu anda maalesef Listeler listesini desteklemiyor (bunun için bir sorun yarattım: https://github.com/realm/realm-java/issues/2549). Ancak bu çözülmüş olsa bile, listeler için ortak bir tür bulmanız gerekiyor. Realm, rastgele bir nesneyi kaydetmenize izin vermez. Durumunuzda Integers'ı Strings'e dönüştürmeniz gerekebilir.

Şimdilik bir çalışma, alt listelerin her birini yazılan bir nesneye dönüştürmek olabilir. Bunun için bunun için özel bir GSON serpantini yazmanız gerekir. nasıl yapılacağına ilişkin bir rehber vardır burada belirtin: https://realm.io/docs/java/latest/#primitive-lists

1

Teknik senin sorunun bu

[ 
    "allergist", 
    1 
], 

tamamen

{ 
    "speciality": "allergist", 
    "value": 1 
} 

gibi bir nesne, bir şey olmalı ki bu durumda Diyar In kolayca işleyebilir, ancak bu durumda, bu [["hello", 2], ["world", 3]] nesnelerini, RealmObject olarak kullanabileceğiniz bir yazışılmış nesneye eşleştirmeniz ve dönüştürmeniz gerekir. Çünkü şu anda bu List<List<Object>>.