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;