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

  • Caina Mondo Zine

    Caina Mondo

    13 EKİM 2007
  • movies95

    movies95

    27 Kasım 2006
  • William Hyde

    William Hyde

    23 HAZİRAN 2008