Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android中的java JSON和字符串_Java_Android_Json - Fatal编程技术网

Android中的java JSON和字符串

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

我正在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 = 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));
    }