JSONException:Value<;!无法将java.lang类型的DOCTYPE转换为JSONObject
伙计们,你们能帮我一点忙吗,我遇到了这个错误:JSONException:Value<;!无法将java.lang类型的DOCTYPE转换为JSONObject,java,android,json,Java,Android,Json,伙计们,你们能帮我一点忙吗,我遇到了这个错误: "JSONException: Value <!DOCTYPE of type java.lang cannot be converted to JSONObject" 下面是我实例化解析器的代码: private void fillSpinnerCabTypes() { List<String> cabTypesSpinner = new ArrayList<String>(); J
"JSONException: Value <!DOCTYPE of type java.lang cannot be converted to JSONObject"
下面是我实例化解析器的代码:
private void fillSpinnerCabTypes() {
List<String> cabTypesSpinner = new ArrayList<String>();
JSONParser jsonParser = new JSONParser();
JSONObject cabTypesObject = jsonParser.getJSONFromUrl(urlTypeCabs);
try{
TypesArray = cabTypesObject.getJSONArray(TAG_TYPES);
for(int i = 0; i < TypesArray.length(); i++){
JSONObject c = TypesArray.getJSONObject(i);
String name = c.getString(TAG_NAME);
cabTypesSpinner.add(name);
}
}catch(Exception e ){
e.printStackTrace();
}
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, cabTypesSpinner);
final Spinner spnCabTypes = (Spinner)findViewById(R.id.spnTypeOfCab);
adapter.setDropDownViewResource(
android.R.layout.simple_spinner_dropdown_item);
spnCabTypes.setAdapter(adapter);
}
此问题来自服务器。
您请求的URL会将数据发送回您,但不是JSON格式。
您得到的例外情况是,服务器发送给您的字符串以以下开头:
<!DOCTYPE
此问题来自服务器。
您请求的URL会将数据发送回您,但不是JSON格式。
您得到的例外情况是,服务器发送给您的字符串以以下开头:
<!DOCTYPE
这个问题也出现在我的代码中。解决方法不同。它是由于webservice的拼写错误造成的 解决方案1: 例如,url是真实的 我用过 解决方案2: 使用loopj库。它准确地给出了已解释的错误
AsyncHttpClient client = new AsyncHttpClient();
client.post(str , localRequestParams, new AsyncHttpResponseHandler() {
@Override
public void onFinish() {
super.onFinish();
Log.i("onFinish","onFinish");
}
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
Log.i("onSuccess","onSuccess");
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
Log.i("onFailure","onFailure");
}
});
这个问题也出现在我的代码中。解决方法不同。它是由于webservice的拼写错误造成的 解决方案1: 例如,url是真实的 我用过 解决方案2: 使用loopj库。它准确地给出了已解释的错误
AsyncHttpClient client = new AsyncHttpClient();
client.post(str , localRequestParams, new AsyncHttpResponseHandler() {
@Override
public void onFinish() {
super.onFinish();
Log.i("onFinish","onFinish");
}
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
Log.i("onSuccess","onSuccess");
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
Log.i("onFailure","onFailure");
}
});
显示你的日志。让我知道你从php脚本中得到json值了吗?如果是,请告诉我json的格式。发布日志和json数据。请发布json。。没有看到json格式。。我们无法帮助您此错误通常发生在您的json数据格式不正确时,请检查此副本粘贴您的json数据并查看其是否为json格式请使用
EntityUtils.toString(httpResponse.getEntity())
而不是忽略服务器发送的编码的手写代码,在异常时不关闭,并将行尾转换为\n
。另外,当局部变量对ìs
、jObj
、json
同样有效时,不要使用静态变量。显示您的日志。让我知道你从php脚本中得到json值了吗?如果是,请告诉我json的格式。发布日志和json数据。请发布json。。没有看到json格式。。我们无法帮助您此错误通常发生在您的json数据格式不正确时,请检查此副本粘贴您的json数据并查看其是否为json格式请使用EntityUtils.toString(httpResponse.getEntity())
而不是忽略服务器发送的编码的手写代码,在异常时不关闭,并将行尾转换为\n
。另外,当局部变量对ìs
,jObj
,json
同样有效时,不要使用静态变量。嗨,西蒙,我遇到了与上述类似的问题。如果我发布了一个问题,你能帮我吗?@Moudiz当然,但如果这与此问题不符,您必须创建另一个问题。感谢您的回复,我的问题与此类似。我想连接到服务器,但我得到了同样的错误上面,我不知道哪里是错误的。如果我发布了一个问题,你能看看它,看看你是否能帮助我吗?好的,我会添加所有内容,让你清楚。但是我需要一点时间,当我把问题贴在这里时,我会通知你的。。谢谢嗨伙计你能查一下我的问题吗?你好,西蒙,我遇到了一个类似于上述内容的问题。如果我发布了一个问题,你能帮我吗?@Moudiz,当然,但如果这与此问题不符,你将不得不创建另一个问题。谢谢你的回复,我的问题与此类似。我想连接到服务器,但我得到了同样的错误上面,我不知道哪里是错误的。如果我发布了一个问题,你能看看它,看看你是否能帮助我吗?好的,我会添加所有内容,让你清楚。但是我需要一点时间,当我把问题贴在这里时,我会通知你的。。谢谢嗨伙计你能查一下我的问题吗?
AsyncHttpClient client = new AsyncHttpClient();
client.post(str , localRequestParams, new AsyncHttpResponseHandler() {
@Override
public void onFinish() {
super.onFinish();
Log.i("onFinish","onFinish");
}
@Override
public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
Log.i("onSuccess","onSuccess");
}
@Override
public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
Log.i("onFailure","onFailure");
}
});