为什么可以';我不能在Android中使用JsonArray检索数据吗?
我已将数据插入名为为什么可以';我不能在Android中使用JsonArray检索数据吗?,android,json,Android,Json,我已将数据插入名为tsk的服务器表中。现在我想在我的Android代码中使用JsonArray检索它。我使用了下面的php代码,我可以在网页上看到解析后的数组。问题是我得到了错误04-04 01:36:18.198:E/log_标记(2254):错误解析数据org.json.JSONException:java.lang.String类型的值无法在错误日志中转换为JSONArray 我的数据库字段如下所示: tid是一个Int设置为主键和自动递增。 stat是字段长度设置为100的文本。 r是长
tsk
的服务器表中。现在我想在我的Android代码中使用JsonArray
检索它。我使用了下面的php代码
,我可以在网页上看到解析后的数组。问题是我得到了错误04-04 01:36:18.198:E/log_标记(2254):错误解析数据org.json.JSONException:java.lang.String类型的值无法在错误日志中转换为JSONArray
我的数据库字段如下所示:
tid
是一个Int
设置为主键
和自动递增
。
stat
是字段长度设置为100的文本。
r
是长度设置为100的VarChar
我在Android中的Json检索代码如下:
String result = null;
InputStream is = null;
try{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("myurl");
ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
is = entity.getContent();
Log.e("log_tag", "connection success ");
}
catch(Exception e)
{
Log.e("log_tag", "Error in http connection "+e.toString());
Toast.makeText(getActivity(), "Connection fail", Toast.LENGTH_SHORT).show();
}
try
{
BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null)
{
sb.append(line + "\n");
}
is.close();
result=sb.toString();
}
catch(Exception e)
{
Log.e("log_tag", "Error converting result "+e.toString());
Toast.makeText(getActivity(), " Input reading fail", Toast.LENGTH_SHORT).show();
}
try
{
JSONArray jArray = new JSONArray(result);
String s="",s1,s2,s3,s4,s5;
Log.w("Lengh",""+jArray.length());
for(int i=0;i<jArray.length();i++){
// final ListView lview=(ListView) rootView.findViewById(R.id.listViewmytask);
JSONObject json_data = jArray.getJSONObject(i);
s=json_data.getString("stat");
Log.i("taskid",""+s);
}
}
catch(JSONException e)
{
Log.e("log_tag", "Error parsing data "+e.toString());
Toast.makeText(getActivity(), "JsonArray fail", Toast.LENGTH_SHORT).show();
}
字符串生成器result
显示以下值:但其中有一些未定义的字符,如i`?(倒问号)
这可能是因为JSON响应格式不正确。您能否发布JSON响应以更好地理解它?您可以在此URL中验证JSON响应-
您可以使用这个简单的JSON解析器解析JSON响应-。这可能是因为JSON响应格式不正确。您能否发布JSON响应以更好地理解它?您可以在此URL中验证JSON响应-
您可以使用这个简单的JSON解析器解析JSON响应-。这可能是因为JSON响应格式不正确。您能否发布JSON响应以更好地理解它?您可以在此URL中验证JSON响应-
您可以使用这个简单的JSON解析器解析JSON响应-。这可能是因为JSON响应格式不正确。您能否发布JSON响应以更好地理解它?您可以在此URL中验证JSON响应-
您可以使用这个简单的JSON解析器来解析您的JSON响应-。似乎服务器没有返回jsonArray,请确保响应的第一个字母,如果它开始{应该是JSON对象,如果服务器只返回'[]'然后,该服务器返回空数据,无法解析为json数组。似乎服务器没有返回jsonArray,请确保响应的第一个字母,如果它开始{应该是json对象,并且如果服务器仅返回'[]'然后,该服务器返回空数据,无法解析为json数组。似乎服务器没有返回jsonArray,请确保响应的第一个字母,如果它开始{应该是json对象,并且如果服务器仅返回'[]'然后此服务器返回空数据,无法解析为json数组。似乎服务器没有返回jsonArray,请确保响应的第一个字母,如果它开始{而不是它应该是json对象,并且如果服务器仅返回'[],则此服务器返回空数据,无法解析为json数组。更改此代码并重试
StringBuilder sb = new StringBuilder();
BufferedReader reader = new BufferedReader(new InputStreamReader(is, HTTP.UTF_8));
String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append(line);
}
} finally {
is.close();
reader.close();
}
result=sb.toString();
更改此代码并重试
StringBuilder sb = new StringBuilder();
BufferedReader reader = new BufferedReader(new InputStreamReader(is, HTTP.UTF_8));
String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append(line);
}
} finally {
is.close();
reader.close();
}
result=sb.toString();
更改此代码并重试
StringBuilder sb = new StringBuilder();
BufferedReader reader = new BufferedReader(new InputStreamReader(is, HTTP.UTF_8));
String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append(line);
}
} finally {
is.close();
reader.close();
}
result=sb.toString();
更改此代码并重试
StringBuilder sb = new StringBuilder();
BufferedReader reader = new BufferedReader(new InputStreamReader(is, HTTP.UTF_8));
String line = null;
try {
while ((line = reader.readLine()) != null) {
sb.append(line);
}
} finally {
is.close();
reader.close();
}
result=sb.toString();
显示您的json响应..请检查json响应显示您的json响应..请检查json响应显示您的json响应..请检查json响应显示您的json响应..请检查json响应pls检查json响应response@user3256145您的JSON响应似乎很好。但是,不能保证响应始终具有e数据。我建议你也处理这个问题。请检查jsonresponse@user3256145您的JSON响应似乎很好。但是,无法保证响应始终包含数据。我建议您也处理此问题。请检查JSONresponse@user3256145您的JSON响应似乎很好。但是不能保证响应总是有数据的。我建议你也处理这个问题。请检查jsonresponse@user3256145您的JSON响应似乎很好。但是,不能保证响应始终包含数据。我建议您也处理这个问题。。