【发布时间】:2015-11-19 15:55:56
【问题描述】:
我从 WebService 获取 Json,我想在我的 LogCat 中将其打印为 String。我尝试了以下方法:
Gson gson = new Gson();
HttpEntity getResponseEntity = httpResponse.getEntity();
InputStream is = getResponseEntity.getContent();
Reader reader = new InputStreamReader(is);
Type snsType = new TypeToken<SNSRegister>(){}.getType();
snsRegister = gson.fromJson(reader, snsType);
String jsonString = convertStreamToString(is);
snsRegister 是我的可序列化类的一个实例,我试图通过使用convertStreamtoString 方法将InputStream 对象转换为String 来在我的logcat 中打印JSON:
static String convertStreamToString(java.io.InputStream is) {
java.util.Scanner s = new java.util.Scanner(is).useDelimiter("\\A");
return s.hasNext() ? s.next() : "";
}
但我的字符串总是空的,我不知道为什么。 snsRegister 不为空,所以这不是问题。
【问题讨论】:
-
您正在从同一个输入流中读取两次。你不能那样做。您可以做的是先读取字符串,然后记录 fromJson 的调用,并将字符串作为参数
标签: android string gson inputstream logcat