我有问题需要解决。我使用EJB3.1
创建了我的网络服务。我在撰写将在json
{
"test": {
"v1": "1",
"v2": "2"
}
}
我使用Map来创建它,但它给了我这种格式:
{
"test": {
"entry": [
{
"key": "v1",
"value": "1"
},
{
"key": "v2",
"value": "2"
}
]
}
}
该课程如下:
@XmlRootElement
public class TestClass {
@XmlElement(name="test")
private Map<String, String> map;
}
这是我的WS方法
@POST
@Path("new")
@Produces("application/json")
public TestClass startNew () {
TestClass testClass = new TestClass();
Map<String, String> map = new HashMap<>();
map.put("v1", "1");
map.put("v2", "2");
testClass.setMap(map);
return testClass;
}
我应该使用别的东西而不是地图,或者我该如何处理这种格式?
答案 0 :(得分:0)
您可能更容易使用JSON Processing API(以及Java EE 7的一部分):
@POST
@Path("new")
@Produces("application/json")
public JsonObject startNew() {
JsonBuilderFactory factory = Json.createBuilderFactory(Collections.emptyMap());
return factory.createObjectBuilder().
add("test", factory.createObjectBuilder().
add("v1", 1).
add("v2", 2).
build()
).
build();
}