2014-03-06 69 views
5

通過播放WS API我得到()一個Response對象。因爲它包含JSON我打電話prettyPrint播放中的jsonNode

response.asJson() 

它工作得很好。現在我想在prettyprinted版本返回此JSON,所以我試着打電話給

Json.prettyPrint(response.asJson()) 

然而,這並不工作,因爲prettyPrint需要一個JsValue,而不是一個JsonNode。 所以問題是如何將JsonNode轉換爲JsObject?

回答

13

我猜你正在使用Play with Java。而是轉換爲JsValue的,你可以這樣做:

JsonNode node = response.asJson(); 
ObjectMapper mapper = new ObjectMapper(); 
String pretty = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(node); 
3

Pull request #2924(目前僅在主截至2014年5月26日提供)提高了遊戲架構,讓JsValue和JsonNode之間的轉換等

據我所知,Java Json軟件包中還沒有一個漂亮的打印,但這距離更近了一步。

漂亮的印刷和其他一些功能(帶來了Java與斯卡拉線)在#2945增加(目前只在主可作爲的2014年5月28日)