SORU
20 Aralık 2010, PAZARTESİ


JSON ile Jackson: Tanınmayan alan, gözardı olarak işaretlenmemiş

Java bir nesne için belirli bir JSON dize dönüştürmek istiyorum. JSON işlemek için Jackson kullanıyorum. Giriş JSON üzerinde kontrolü (web hizmetinden okudum) var. Bu giriş benim JSON

{"wrapper":[{"id":"13","name":"Fred"}]}

Burada basitleştirilmiş kullanım örneği:

private void tryReading() {
    String jsonStr = "{\"wrapper\"\:[{\"id\":\"13\",\"name\":\"Fred\"}]}";
    ObjectMapper mapper = new ObjectMapper();  
    Wrapper wrapper = null;
    try {
        wrapper = mapper.readValue(jsonStr , Wrapper.class);
    } catch (Exception e) {
        e.printStackTrace();
    }
    System.out.println("wrapper = "   wrapper);
}

Varlık sınıfım

public Class Student { 
    private String name;
    private String id;
    //getters & setters for name & id here
}

Sarıcı Dersim temelde öğrencilerin listesini almak için bir kapsayıcı nesnesi

public Class Wrapper {
    private List<Student> students;
    //getters & setters here
}

Ben bu hatayı almaya devam ediyorum ve" null döndürür. "sarıcı Eksik olan ne olduğundan emin değilim. Lütfen biri yardım edebilir mi?

org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "wrapper" (Class Wrapper), not marked as ignorable
 at [Source: java.io.StringReader@1198891; line: 1, column: 13] (through reference chain: Wrapper["wrapper"])
 at org.codehaus.jackson.map.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:53)

CEVAP
25 EYLÜL 2011, Pazar


Jackson'ın sınıf düzeyi açıklama kullanabilirsiniz:

@JsonIgnoreProperties

Senin POJO tanımlanan etmedin her özellik göz ardı edilir. Sadece JSON özellikleri bir çift arıyoruz ve bütün haritalama yazmak istemiyorum çok yararlı. Jackson's website Daha fazla bilgi. Eğer herhangi bir özelliği olmayan ilan görmezden gelmek istiyorsan yazmalısın:

@JsonIgnoreProperties(ignoreUnknown = true)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • dirkgently1

    dirkgently1

    13 NİSAN 2006
  • Jorrit Jongma

    Jorrit Jongm

    17 Ocak 2008
  • xCraash

    xCraash

    6 Temmuz 2012