SORU
3 Aralık 2011, CUMARTESİ


Jackson (JSON) - " ile seri hale getirilirken;seri hale getirici bulundu"?

Çok basit bir nesne Jackson kullanarak seri hale getirmek için çalışırken bir istisna olsun. Hata:

org.codehaus.jackson.göster.JsonMappingException: Hayır seri hale getirici bulundu sınıf MyPackage.TestA ve özellikleri BeanSerializer (özel durum önlemek için, devre dışı bırakmak oluşturmak için keşfetti SerializationConfig.Özelliği.FAİL_ON_EMPTY_BEANS) )

Aşağıda ve seri hale getirmek için basit bir sınıf kodu.

Herkes bu hatayı alıyorum neden bana söyleyebilir?

public class TestA {
    String SomeString = "asd";
}

TestA testA = new TestA();
ObjectMapper om = new ObjectMapper();
try {
    String testAString = om.writeValueAsString(testA); // error here!

    TestA newTestA = om.readValue(testAString, TestA.class);
} catch (JsonGenerationException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (JsonMappingException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
} catch (IOException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
}

CEVAP
6 Aralık 2011, Salı


Önceden de belirtildiği gibi, ObjectMapper örneği varsayılan yapılandırma Sadece ortak alanlara erişim özelliklerini ya da toplu alıcılar/ayarlayıcıları. Sınıf tanımı bir alan kamu yapmak veya kurucu/ortak bir alıcı sağlamak için değişen bir alternatif (VisibilityChecker baz için) farklı özellik görünürlük bir kural belirtmek için. Jackson 1.9, bunu yapmak için ObjectMapper.setVisibility() kolaylık yöntemi sağlar. Özgün söz konusu örneğin, büyük olasılıkla bu gibi yapılandırmak istiyorum

myObjectMapper.setVisibility(JsonMethod.FIELD, Visibility.ANY);

İlgili yapılandırma seçenekleri hakkında daha fazla bilgi ve ayrıntılar için the JavaDocs on ObjectMapper.setVisibility() Gözden öneririm.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • FD2097

    FD2097

    21 HAZİRAN 2009
  • Just So

    Just So

    3 HAZİRAN 2007
  • KSI

    KSI

    25 Temmuz 2009