Android中的java JSON和字符串
我正在android中通过php查询数据库。这是我的相关代码Android中的java JSON和字符串,java,android,json,Java,Android,Json,我正在android中通过php查询数据库。这是我的相关代码 String result = null; InputStream is = null; StringBuilder sb = null; is = entity.getContent(); BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8")); sb = new StringBuilder(); String line = nu
String result = null;
InputStream is = null;
StringBuilder sb = null;
is = entity.getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"UTF-8"));
sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null)
{
sb.append(line + "\n");
}
is.close();
result = sb.toString();
JSONArray jArray = new JSONArray(result);
这是我试图解析的链接和返回的数据
直到最后一次发言,一切都很顺利。当我试图打印出结果的长度时,它的长度是正确的。但是,如果我尝试使用
Log.e ("ERROR", result);
adb logcat查看输出,它被截断了。因此,如果截断的字符串结果被传递到JSONArray,它肯定会崩溃。它总是在“Pyrmont Bay Wh”之后被截断,这大约是返回值的4048个字符。我的问题是为什么变量“result”被截断了。谢谢Logcat会截断长字符串
$ adb logcat -g
/dev/log/main: ring buffer is 64Kb (63Kb consumed), max entry is 5120b, max payload is 4076b
您可以做的一件事是将字符串拆分为可打印的块,如中所示:
int maxLogSize=1000;
对于(int i=0;i veryLongString.length()?veryLongString.length():结束;
Log.v(TAG,veryLongString.substring(start,end));
}
我认为与其说是截断,不如说是编辑器的问题。您是否尝试过对其进行解析?如果是,是否有任何错误?打印出结果的值(在解析之前)并将其放在此处。否则无法知道。此外,这是否可能是json对象?
int maxLogSize = 1000;
for(int i = 0; i <= veryLongString.length() / maxLogSize; i++) {
int start = i * maxLogSize;
int end = (i+1) * maxLogSize;
end = end > veryLongString.length() ? veryLongString.length() : end;
Log.v(TAG, veryLongString.substring(start, end));
}