【问题标题】:How to convert mvc.play.Result to JsonNode or String如何将 mvc.play.Result 转换为 JsonNode 或 String
【发布时间】:2018-08-22 23:52:34
【问题描述】:

我正在使用播放框架 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

如何从上述调用获得的Result中提取原始JsonNode?​​p>

【问题讨论】:

    标签: playframework playframework-2.6


    【解决方案1】:

    我没有回答如何获取 Json,但我终于知道了,如何从 Result 中获取字符串

    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);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-12
      • 1970-01-01
      • 1970-01-01
      • 2013-11-11
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 2011-01-26
      相关资源
      最近更新 更多