如何将mvc.play.Result转换为JsonNode或String

时间:2018-08-22 23:52:34

标签: playframework playframework-2.6

我正在使用播放框架2.6.17。 我在控制器中有一个称为“ MasterTag”的类。此类的索引函数返回JsonNode(return ok(jsonNode))值。

public class MasterTag extends Controller{
    public Result index(){
        ObjectMapper mapper = new ObjectMapper();
        JsonNode responseNode = mapper.readTree("{\"mastertag\":\"0.5\"}"); 
         return ok(responseNod);
    }
}

我在控制器中还有一个名为“ HomeController”的类,其中有一个对MasterTag.index()的调用。返回类型为play.mvc.Result

如何从上述调用获得的结果中提取原始JsonNode?

1 个答案:

答案 0 :(得分:0)

我没有答案如何获取Json,但我最终知道如何从Result获取String

1。

@Inject
Materializer materializer;

// this is another controller, I would like to get Result from
@Inject
URLExamplesController urlExampleContoller;

2。

public Result index() {

// how to convert Result into String
// caling function in another controller to get Result object
Result result = urlExampleContoller.getQuestyParameterExample2("test 123");
FiniteDuration finiteDuration = Duration.create(5000, TimeUnit.MILLISECONDS);
byte[] body = Await.result(
            FutureConverters.toScala(result.body().consumeData(materializer)), finiteDuration).toArray();

String outputOfAnotherController = new String(body);
}