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

  • NightShader1

    NightShader1

    25 Temmuz 2006
  • Techmoan

    Techmoan

    31 Mayıs 2009
  • Virtual Riot

    Virtual Riot

    19 Mayıs 2011