Java – jax-rs, mapping to JSON without overhead?
•
Java
I am using jax-rs to create restful web services in Java I get a lot of overhead in the generated JSON
Data class:
@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; } }
Services:
@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); }
Production:
{"data":{"entry":[{"key":"foo","value":"bar"},{"key":"bingo","value":"bongo"}]}}
I want it to produce:
{"data":{"foo":"bar","bingo":"bongo"}}
What is the easiest way to achieve this goal? I'm free to redefine my data classes, but I can't know the key or size of the map in advance
Solution
The simplest way is to use list < pair > instead, pair is just a java bean with two properties
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码