2015-11-13 3 views
0

У меня большой ответ, который является объектом JSON не менее 88 КБ. У меня возникают проблемы с получением этих данных на клиентах.Сервер Java AJAX, как закрепить ответы JSON

Я хотел бы заархивировать содержимое в приложении Java и отправить обратно zip, я сделал это раньше, когда PHP на сервере зашифровывает большой контент, а браузер распаковывает его.

В настоящее время строка JSON создается в объекте StringBuilder. Если эта идея ошибочна, что еще я могу сделать? Объект JSON содержит информацию о состоянии для большой системы, и мне нужны частые обновления для отправки.

Edit ... Я прогрессировал проблему, если размер JSON является> 512 байт, то я передаю StringBuffer на функцию ниже:

public StringBuilder zipStringBuilder(StringBuilder sbSource) { 
     StringBuilder sbZipped = null; 

     try { 
      byte[] arybytSource = sbSource.toString().getBytes(); 
      byte[] arybytBuffer = new byte[ZIP_BUFFER]; 
      Deflater objDeflater = new Deflater(); 
      objDeflater.setInput(arybytSource); 
      ByteArrayOutputStream baos = new ByteArrayOutputStream(arybytSource.length); 
      objDeflater.finish();   
      while(!objDeflater.finished()) { 
       int intCount = objDeflater.deflate(arybytBuffer); 
       baos.write(arybytBuffer, 0, intCount); 
      } 
      baos.close(); 
      sbZipped = new StringBuilder();   
      sbZipped.append(baos.toString()); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
     return sbZipped; 
    } 

заголовков HTTP являются следующим:

HTTP/1.0 200 
    Date: Fri Nov 13 14:47:06 GMT 2015 
    Access-Control-Allow-Origin: * 
    Access-Control-Allow-Methods: POST, GET, OPTIONS, DELETE, PUT 
    Access-Control-Allow-Credentials: true 
    Keep-Alive: timeout=2, max=100 
    Cache-Control: no-cache 
    Pragma: no-cache 
    Content-Encoding: zip 
    Content-type: application/json;charset=utf-8 

Но я не получаю это или браузер не понимает этого?

Я также попытался:

Content-Encoding: gzip 

С таким же результатом.

ответ

0

Если ваш сервер находится за веб-сервер Apache очереди на апача раздувать команду

+0

Это не веб-сервер полностью закодирован в Java. – SPlatten