Android org.json.json异常:输入结束,字符0位于
收到的错误为“org.json.json异常:输入结束,字符0位于” 我的GET JSON解析器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
// 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;
}
}