Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.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 org.json.json异常:输入结束,字符0位于_Android_Json_Parsing_Exception_Get - Fatal编程技术网

Android org.json.json异常:输入结束,字符0位于

Android org.json.json异常:输入结束,字符0位于,android,json,parsing,exception,get,Android,Json,Parsing,Exception,Get,收到的错误为“org.json.json异常:输入结束,字符0位于” 我的GET JSON解析器 // request method is GET DefaultHttpClient httpClient = new DefaultHttpClient(); String paramString = URLEncodedUtils.format(params, "utf-8"); url += "?" + paramStri

收到的错误为“org.json.json异常:输入结束,字符0位于”

我的GET JSON解析器

// request method is GET
            DefaultHttpClient httpClient = new DefaultHttpClient();
            String paramString = URLEncodedUtils.format(params, "utf-8");
            url += "?" + paramString;
            HttpGet httpGet = new HttpGet(url);
            HttpResponse httpResponse = httpClient.execute(httpGet);
            HttpEntity httpEntity = httpResponse.getEntity();
//此处已截断。为什么?

            is = httpEntity.getContent(); 
            String jsonString=convertStreamToString(is);
            try{
                response = new JSONObject((jsonString.substring(jsonString.indexOf("{"), jsonString.lastIndexOf("}")+1)));
            }catch (Exception e){e.printStackTrace();}
我收到了json(这是正确的,在这里勾选)

Php提供以下输出(在浏览器中),因此这意味着Php工作正常

{"profile":[{"image":"iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABHNCSVQICAgIfAhkiAAAIABJREFU\neJzcvWuMZdl13\/e71ftWr9NzbnOfYRV5j9RN1mVmCNaYDKfbppFuhBE1BBNoAskhmcSxCU8cKYAB\nOxYcGwnyJbDz+pAPVvxIPkq2DMgOYFiyZXgIROCQAp0e2GN3j0Bm7sg90W17WjpXmjLPnumjPqu7\nd1flw9r7nFM9MxQp8SHnzDSq6j7OY++11+O\/\/mvtGf8\/PP78j\/8HHz95sOOLM7NPAcxi\/6mgPb+x\nDYgXts3247OHVFIWaNfThsDJCe3h4dO\/QoTN7VcpRJjBV+5GmM35iszPhy\/\/03\/xK9\/nR\/uOH7Pv\n9w38Xo8\/\/Afe9\/EHcfZDZ+c8vd3+5qcKkZX3nkoKVqsl9V5Nc9SwubkBKWhDS1FWiECzbQCh3qtR\nVTa3NogIvvRswxZfCiJCVVa0ETT2HK4ONk2z\/YqXsy\/\/2f\/qz\/zyM\/\/ZT\/4bLRT\/xgnAYS0fPJ7v\n\/pHiXPEp3OxTs0ilndKqUohABBEgKgLUezV17ekVtneCTbL31L6iVygctKEFJxCVEALeeypf......T0AAAAASUVORK5CYII=\n"}],"success":1,"message":"profile pic found"} 
(..意味着我删除了其中的一部分以便在此处显示)

这是正确的。 但当它遍历所有内容时,'is'=>(InputStream)会被截断为

{"profile":[{"image":"iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABHNCSVQICAgIfAhkiAAAIABJREFU\neJzcvWuMZdl13\/e71ftWr9NzbnOfYRV5j9RN1mVmCNaYDKfbppFuhBE1BBNoAskhmcSxCU8cKYAB\nOxYcGwnyJbDz+pAPVvxIPkq2DMgOYFiyZXgIROCQAp0e2GN3j0Bm7sg90W17WjpXmjLPnumjPqu7\nd1flw9r7nFM9MxQp8SHnzDSq6j7OY++11+O\/\/mvtGf8\/PP78j\/8HHz95sOOLM7NPAcxi\/6mgPb+x\nDYgXts3247OHVFIWaNfThsDJCe3h4dO\/QoTN7VcpRJjBV+5GmM35iszPhy\/\/03\/xK9\/nR\/uOH7Pv\n9w38Xo8\/\/Afe9\/EHcfZDZ+c8vd3+5qcKkZX3nkoKVqsl9V5Nc9SwubkBKWhDS1FWiECzbQCh3qtR\nVTa3NogIvvRs...EHoF0
(……同样,这意味着我删除了其中的一部分,以便在此处显示) 但它以EHoF0(介于真正完整的图像字符串之间)结束

在android端使用

responseFromServer = JSONParser.makeHttpRequestReturnJson(url, "GET",param);
在这里检查了各种其他问题的答案,但都不起作用。我甚至试过发帖


请帮忙!

我认为你应该准确地学习Android中的JSON解析。我建议你学习任何视频教程

要解决您面临的问题,请使用以下内容更新代码:

String jsonString=convertStreamToString(is);
try{
    response = new JSONObject(jsonString)
}catch (Exception e) {
    e.printStackTrace();
}

只是喜欢

JSONObject jsonObject = new JSONObject(jsonString);

返回字符0处输入的结尾,因为字符串结果为空,也许您可以尝试用一些jsonString替换它。

按照my@Paresh的建议进行了更改

 String jsonString=convertStreamToString(is); try{
     response = new JSONObject(jsonString) }catch (Exception e) {
     e.printStackTrace(); }

然后我进一步收到了错误

D/skia:---SkImageDecoder::工厂返回null

这个问题由 替换 这个

用这个

public Bitmap StringToBitMap(String encodedString){
        try {
            byte [] encodeByte=Base64.decode(encodedString, Base64.DEFAULT);
            Bitmap bitmap= BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length);
            return bitmap;
        } catch(Exception e) {
            e.getMessage();
            return null;
        }
    }
我希望它能帮助别人


如果有帮助,请投赞成票:)

我所做的更改可能重复。现在我碰巧看到这个错误
D/skia:---SkImageDecoder::Factory在保存位图时返回null
,让我提到位图(作为字符串)被截断。这是位图的完整字符串
String jsonString=convertStreamToString(is);
try{
     response = new JSONObject((jsonString.substring(jsonString.indexOf("{"), jsonString.lastIndexOf("}")+1)));
}catch (Exception e) {
      e.printStackTrace();
}
public Bitmap StringToBitMap(String getContent) {
        try {
            byte[] encodeByte = getContent.getBytes(Charset.forName("UTF-8"));
            Bitmap bitmap = BitmapFactory.decodeByteArray(encodeByte, 0,encodeByte.length);
            return bitmap;
        }
        catch (Exception e)
        {
            e.getMessage();
            return null;
        }

    }
public Bitmap StringToBitMap(String encodedString){
        try {
            byte [] encodeByte=Base64.decode(encodedString, Base64.DEFAULT);
            Bitmap bitmap= BitmapFactory.decodeByteArray(encodeByte, 0, encodeByte.length);
            return bitmap;
        } catch(Exception e) {
            e.getMessage();
            return null;
        }
    }