JSON olarak geçirilen bir nesnenin iç sınıf türünü oluşturmaya çalışıyorum ancak burada ve ayrıca Jackson'ın sitesinde tonlarca okurken bunu elde edemiyorum. Doğru kombinasyon böylece herhangi birisi herhangi bir işaretçi varsa çok takdir edilecektir. Aşağıda bazı parçacıkları yayınladım ve tüm alıcıları ve ayarlayıcıları kaldırdım, yayınlamaya ihtiyaçları olduğunu anlamadım. Jackson 2.2 kullanıyorum.Jackson Json Tür Eşleme İç Sınıf
Ben çalışılıyor sınıfları serisini:
public class Settings {
private int offset;
private int limit;
private String type;
private Map<String, Criteria> criteria;
public class Criteria {
private String restriction;
private Object value;
}
}
kod ben serisini kullanıyorum:
ObjectMapper om = new ObjectMapper();
TypeFactory tf = om.getTypeFactory();
JavaType map = tf.constructMapLikeType(Map.class, String.class, Criteria.class);
JavaType type = typeFactory.constructType(Settings.class, map);
Settings settings = om.readValue(entity, type);
Benim JSON test veriler:
{ "type": "org.json.Car", "criteria": { "restriction": "eq", "value": "bmw" } }
İç sınıf statik olmalıdır. Bkz. Http://www.cowtowncoder.com/blog/archives/2010/08/entry_411.html – Paul
Bu talimatları uygularken hatayı alıyorum: "Üye türü [sınıf adı] statik olarak bildirilemez; statik türler yalnızca Statik veya üst düzey türlerinde bildirilmiştir " – coltonfranco
Yuvalama sınıfları ve jackson hakkında daha fazla bilgi için bu blog postasına bakın. Serileştirme iyi çalışır, ancak sınıf statik iç içe tip değilse, deserialization olmaz - http://www.cowtowncoder.com/blog/archives/2010/08/entry_411.html – testerjoe2