我想使用play 2.1框架自带的Json库。但我坚持将 json 对象反序列化回 java 列表。
使用 gson,您可以编写 s.th。喜欢
Type type = new TypeToken<List<XYZ>>(){}.getType();
List<XYZ> xyzList = gson.fromJson(jsonXyz, type);
有没有办法对 play.libs.Json.fromJson 做同样的事情?
任何帮助表示赞赏。
编辑(17.12.2013):
我做了以下工作来解决这个问题。我想有更好的方法,但我没有找到。
List<MyObject> response = new ArrayList<MyObject>();
Promise<WS.Response> result = WS.url(Configuration.getRestPrefix() + "myObjects").get();
WS.Response res = result.get();
JsonNode json = res.asJson();
if (json != null) {
for (JsonNode jsonNode : json) {
if (jsonNode.isArray()) {
for (JsonNode jsonNodeInner : jsonNode) {
MyObject mobj = Json.fromJson(jsonNodeInner, MyObject.class);
response.add(bst);
}
} else {
MyObject mobj = Json.fromJson(jsonNode, MyObject.class);
response.add(bst);
}
}
}
return response;