JAX-RS'yi, Java'da huzurlu web servisleri oluşturmak için kullanıyorum. Üretilen JSON'da çok fazla yüküm var.JAX-RS, Harita <String, String> ek yükü olmadan JSON'a mı?
Veri sınıfı:
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class Test {
private Map<String,String> data;
Test() {}
public Test(Map<String,String> data) {
this.data = data;
}
public Map<String, String> getData() {
return data;
}
}
Hizmeti:
@GET
@Path("/test")
@Produces("application/json; charset=UTF-8;")
public Test test() {
Map<String,String> map = new HashMap<String,String>();
map.put("foo", "bar");
map.put("bingo", "bongo");
return new Test(map);
}
üretir:
{"data":{"entry":[{"key":"foo","value":"bar"},{"key":"bingo","value":"bongo"}]}}
Ben üretmek istiyorum:
{"data":{"foo":"bar","bingo":"bongo"}}
Bunu başarmanın en basit yolu nedir? Veri sınıfımı yeniden tanımlamakta özgürüm, ancak haritanın anahtarlarını veya boyutunu önceden bilmiyorum.
Web isteğinin ek yükü göz önüne alındığında, json formatının optimizasyona değer olduğuna emin misiniz? (Başka bir deyişle, uygulamanızın profil oluşturması, json verilerinin formatının bir performans sorunu olduğuna inanmanıza neden oldu mu?) Hatırlayın ... Erken optimizasyon, programlamanın tüm kötülüğünün köküdür. –