Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.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
Php JSONParser错误_Php_Android_Json - Fatal编程技术网

Php JSONParser错误

Php JSONParser错误,php,android,json,Php,Android,Json,嗨,我是开发android应用程序的新手。我在互联网上找到了将android应用程序连接到数据库的代码,并在一个项目中实现了它。但是,应用程序返回一个错误“error parsing data org.json.JSONException:Value 这是JSONParser代码 package com.example.com; 导入java.io.BufferedReader; 导入java.io.IOException; 导入java.io.InputStream; 导入java.io.I

嗨,我是开发android应用程序的新手。我在互联网上找到了将android应用程序连接到数据库的代码,并在一个项目中实现了它。但是,应用程序返回一个错误“error parsing data org.json.JSONException:Value 这是JSONParser代码

package com.example.com;
导入java.io.BufferedReader;
导入java.io.IOException;
导入java.io.InputStream;
导入java.io.InputStreamReader;
导入java.io.UnsupportedEncodingException;
导入java.util.List;
导入org.apache.http.HttpEntity;
导入org.apache.http.HttpResponse;
导入org.apache.http.NameValuePair;
导入org.apache.http.client.ClientProtocolException;
导入org.apache.http.client.entity.UrlEncodedFormEntity;
导入org.apache.http.client.methods.HttpGet;
导入org.apache.http.client.methods.HttpPost;
导入org.apache.http.client.utils.URLEncodedUtils;
导入org.apache.http.impl.client.DefaultHttpClient;
导入org.json.JSONException;
导入org.json.JSONObject;
导入android.util.Log;
公共类JSONParser{
静态InputStream为空;
静态JSONObject jObj=null;
静态字符串json=“”;
//建造师
公共JSONParser(){
}
公共JSONObject makeHttpRequest(字符串url、字符串方法、,
列表参数)抛出JSONException{
//发出HTTP请求
试一试{
//检查请求方法
如果(方法==“POST”){
//请求方法为POST
//defaultHttpClient
DefaultHttpClient httpClient=新的DefaultHttpClient();
HttpPost HttpPost=新的HttpPost(url);
setEntity(新的UrlEncodedFormEntity(参数));
HttpResponse HttpResponse=httpClient.execute(httpPost);
HttpEntity HttpEntity=httpResponse.getEntity();
is=httpEntity.getContent();
}else if(方法==“GET”){
//请求方法是GET
DefaultHttpClient httpClient=新的DefaultHttpClient();
String paramString=URLEncodedUtils.format(params,“utf-8”);
url+=“?”+参数字符串;
HttpGet HttpGet=新的HttpGet(url);
HttpResponse HttpResponse=httpClient.execute(httpGet);
HttpEntity HttpEntity=httpResponse.getEntity();
is=httpEntity.getContent();
}           
}捕获(不支持的编码异常e){
e、 printStackTrace();
}捕获(客户端协议例外e){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
试一试{
BufferedReader reader=新的BufferedReader(新的InputStreamReader(
is,“iso-8859-1”),8);
StringBuilder sb=新的StringBuilder();
字符串行=null;
而((line=reader.readLine())!=null){
sb.追加(第+行“\n”);
}
is.close();
json=sb.toString();
}捕获(例外e){
Log.e(“缓冲区错误”,“错误转换结果”+e.toString());
}
//尝试将字符串解析为JSON对象
试一试{
jObj=新的JSONObject(json);
}捕获(JSONException e){
Log.e(“JSON解析器”,“错误解析数据”+e.toString());
}
//返回JSON字符串
返回新的JSONObject(json.substring(json.indexOf(“{”)、json.lastIndexOf(“}”)+1);
}

}
该错误表明,您的Android客户端收到的不是JSON响应,而是JavaScript和HTML代码,也就是说,一个网页被发送到您的客户端,而不是纯JSON


您应该首先单独测试PHP代码:打开web浏览器,使用get参数运行脚本,看看是否得到正确的json响应。如果得到正确的json响应,第二步是检查客户端是否向服务器提交了正确的get参数。

请发布完整的错误日志。请帮助我,我有一个最后期限制造快乐实际上,stackoverflow的目的不是发现bug或帮助人们完成项目(我想这也是你的问题被否决的原因).但我还是给了你一个答案。我知道我只是想问最后一个问题,有没有可能错误出在我使用的服务器上?正如我所说,你必须先在服务器上测试PHP代码。你可以在web浏览器中进行测试。