J'essaie d'obtenir une réponse JSON de notre serveur et la chaîne de réponse semble toujours être tronquée lorsque la longueur de la chaîne atteint environ 5525 caractères. J'ai également essayé ceci en utilisant HttpEntity et en lisant le flux de réponse. Mais cela tronque aussi la corde à peu près à cette longueur.La chaîne est tronquée quand elle est trop longue
HttpClient httpClient = new DefaultHttpClient();
HttpPost post = new HttpPost(URL);
// HttpGet get = new HttpGet(URL);
HttpResponse response = null;
HttpEntity entity = null;
InputStream inputStream = null;
BufferedReader reader = null;
String result = "";
try {
response = (HttpResponse)httpClient.execute(post);
entity = response.getEntity();
if(entity != null){
inputStream = entity.getContent();
}
reader = new BufferedReader(new InputStreamReader(inputStream), 8000);
StringBuffer builder = new StringBuffer("");
String line = reader.readLine();
while(line != null){
Log.v(tag, "int max::::::::: "+Integer.MAX_VALUE);
Log.v(tag, "LINE::::::::: "+line+reader.toString());
Log.v(tag, "reader::::::::: "+reader.toString());
builder.append(line+"\n");
line = reader.readLine();
}
inputStream.close();
result = builder.toString();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally{
if(inputStream != null){
try{
inputStream.close();
}catch(IOException e){
e.printStackTrace();
}
}
}
Veuillez me faire savoir comment je peux gérer ce problème. J'ai utilisé ce post comme référence en créant ceci. http://senior.ceng.metu.edu.tr/2009/praeda/2009/01/11/a-simple-restful-client-at-android/
Merci.
Etes-vous sûr que le serveur est en retour la chose entière? Vous pouvez utiliser quelque chose comme http://code.google.com/p/rest-client/ pour le frapper et afficher la réponse complète. –
oui je suis sûr que le serveur retourne le tout, je l'ai testé à partir de mon navigateur et il renvoie l'ensemble du json. – achie
Bien qu'il soit assez tard, mais peut aider quelqu'un d'autre j'ai utilisé ce code pour afficher le code complet trouvé quelque part sur le même site 'int maxLogSize = 1000; pour (int i = 0; i <= veryLongString.length()/maxLogSize; i ++) { int début = i * maxLogSize; < int end = (i + 1) * maxLogSize; end = fin> veryLongString.length()? veryLongString.length(): end; Log.v (TAG, veryLongString.substring (début, fin)); } ' –