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
Ö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.
Nasıl üstesinden gelmek için "dat...
Seri hale getirilirken jQuery JSON içi...
Nasıl Json.net ile seri hale getirilir...
ASP.NET varsayılan JSON seri hale geti...
Xmlns=" almadan XML nesne seri hal...