2015-04-22 4 views
0

Есть ли способ, которым я могу передать Json в свой ответ API?Java Play FrameWork 2.3 обратный поток Json с использованием jackson

Я понимаю, как я могу читать и писать файл JSON, используя библиотеку Джексоном из этого примера:

http://www.mkyong.com/java/jackson-streaming-api-to-read-and-write-json/

Но теперь в рамках игры, как может передавать свой ответ или другими словами, вернуть то, что в моем API составляет return ok();?

+0

ли это файл с JSON строки, которую вы хотите, чтобы поток, или это просто JSON? Используете ли вы POJO для представления данных json? –

+0

это просто json, но если я не ошибаюсь, вы должны рассматривать json как файл для его потока ... и да, я использую pojos – user2469133

+0

. Какую версию «PlayFramework» вы используете? –

ответ

1

Вы пробовали Play's chunked responses?

В контроллере вы имели бы действие что-то на этой линии:

public Result chunkedJson() { 
    return ok(readJsonChunks()); 
} 

И в методе readJsonChunks вы на самом деле создать Куски:

public static Chunks<String> readJsonChunks() { 
    Chunks<String> chunks = new StringChunks() { 

     @Override 
     public void onReady(play.mvc.Results.Chunks.Out<String> out) { 
      JsonFactory jfactory = new JsonFactory(); 
      try { 
       // Read from file 
       JsonParser jParser = jfactory.createJsonParser(new File("c:\\user.json")); 

       // Loop until token equal to "}" 
       while (jParser.nextToken() != JsonToken.END_OBJECT) { 
        // Write all your JSON stuff into out, e.g. with 
        String text = jParser.getText(); 
        out.write(text); 
       } 

       jParser.close(); 
      } catch (IOException e) { 
       out.write("Couldn't open file c:\\user.json"); 
      } finally { 
       out.close(); 
      } 
     } 
    }; 
    return chunks; 
} 

Я никогда не пробовал этот конкретный код (особенно я никогда не использовал JsonFactory.createJsonParser - кажется, он устарел), но я использую нечто похожее на отправку файлов журналов с сервера на клиент.

(я работаю с Play 2.2.3)

+0

Я скоро проверю его – user2469133

Смежные вопросы