Nasıl bir Java nesne (bean)-değer çiftleri anahtar (ve tersi) dönüştürmek için?
Sadece get XXX ve setXXX bazı özellikleri vardır ki çok basit bir java nesne var diyelim. Bu nesne sadece değerleri, temel olarak, bir kayıt veya tip-güvenli ve ölçülebilir bir harita işlemek için kullanılır. Ben genellikle anahtar değer çiftleri (ya da ip ya da tip kasa) için bu gizli nesne ya da bu nesnenin anahtar değer çiftleri dönüştürmek gerekir.
Yansıma dışında veya elle kod bu dönüşüm, bunu başarmak için en iyi yolu nedir? yazılı
Bir örnek, jms üzerinde bu nesne, ObjectMessage türü (veya nesne doğru gelen bir ileti dönüştürme) kullanmadan gönderiyor olabilir.
CEVAP
Potansiyel çözümler Lots, ama hadi bir tane daha ekleyin. Kullanmak için Jackson (JSON işleme kitaplığı) "-az json" dönüşüm, gibi:
ObjectMapper m = new ObjectMapper();
Map<String,Object> props = m.convertValue(myBean, Map.class);
MyBean anotherBean = m.convertValue(props, MyBean.class);
(this blog entry biraz daha örnekler var)
Sen-ebilmek temelde dönüştürmek herhangi bir uyumlu türleri: uyumlu Yani eğer yaptığın dönüştürme türü için JSON ve bu JSON sonuç yazın girdiler ki maç (eğer düzgün yapılandırılmış de sadece Yoksay tanınmayan olanlar).
Tahmin edileceği durumlarda, Haritalar, Listeler, diziler, ilkel, fasulye gibi POJOs de dahil olmak üzere iyi çalışıyor.
- Nasıl yeni Giriş (anahtar, değer)olu...
Nasıl XML java dönüştürmek için.açıkla...
Java nasıl bir dize bir karakter dönüş...
Bir Unix zaman damgası DateTime dönüşt...
Nasıl Java Listesinde Haritası dönüştü...