14 HAZİRAN 2011, Salı
Nasıl Jackson nesneleri bir dizi deserialise için kullanmak
Jackson veri bağlama belgeleri (http://jackson.codehaus.org/DataBindingDeepDive) Jackson "desteklenen türler" ama bunun için tam sözdizimi çözemiyorum. bütün Diziler deserialising desteklediğini gösterir
Tek bir nesne için bunu yapmak istiyorum:
//json input
{
"id" : "junk",
"stuff" : "things"
}
//Java
MyClass instance = objectMapper.readValue(json, MyClass.class);
Şimdi bir dizi için bunu yapmak istiyorum:
//json input
[{
"id" : "junk",
"stuff" : "things"
},
{
"id" : "spam",
"stuff" : "eggs"
}]
//Java
List<MyClass> entries = ?
Kimseye eğer sihir eksik bir komut var mı? Yoksa çözümü nedir?
Çok teşekkürler.
CEVAP
14 HAZİRAN 2011, Salı
İlk bir eşleyici oluşturun :
import com.fasterxml.jackson.databind.ObjectMapper;// in play 2.3
ObjectMapper mapper = new ObjectMapper();
Dizi Olarak:
MyClass[] myObjects = mapper.readValue(json, MyClass[].class);
Liste:
List<MyClass> myObjects = mapper.readValue(jsonInput, new TypeReference<List<MyClass>>(){});
Başka bir şekilde Liste türünü belirlemek için:
List<MyClass> myObjects = mapper.readValue(jsonInput, mapper.getTypeFactory().constructCollectionType(List.class, MyClass.class));
Bunu Paylaş:
Nasıl CSS kullanmak için bir daire ile...
Nasıl, MVC Denetleyicisi ASP.NET JSON ...
Özel dizi sıralamak için nasıl Swift i...
Nasıl bir WordPress kullanmak dizi düz...
Bir Nesneyi bulmak için nasıl bir Word...