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

  • Charles Griffin Gibson

    Charles Grif

    26 NİSAN 2006
  • Klemens Torggler

    Klemens Torg

    11 Mart 2008
  • MultiPlayStationMan

    MultiPlaySta

    17 Aralık 2009