我想在本地主機上執行對數據庫的查詢並將JSON對象發送給android中的客戶端。我無法知道我的代碼中存在什麼問題。所以有人請在這方面幫助我。Android中的JSON異常
我的php代碼是我發送JSON對象的地方。 PHP代碼
查詢成功執行..
$row=mysql_fetch_array($result1);
$email=$row['EM'];
$pass=$row['PASS'];
$post=array("email"=>$email, "pass"=>$pass);
$posts[] = array("post"=>$post);
//echo "SUCCESS";
header('Content-type: application/json');
echo json_encode(array("posts"=>$posts));
而在機器人側我已經低於該代碼;
HttpResponse response = doPost(url, kvPairs);
String responseBody=response.toString();
String temp = EntityUtils.toString(response.getEntity());
if (temp.compareTo("SUCCESS")==0)
{
Toast.makeText(this, "Working", Toast.LENGTH_LONG).show();
}
以上部分執行.. 下面的代碼拋出一個異常JSON
JSONObject json = new JSONObject(responseBody);
JSONArray jArray = json.getJSONArray("posts");
no_of_obj=jArray.length();
nemail=new String[no_of_obj];
npass=new String[no_of_obj];
for (int i = 0; i < jArray.length(); i++) {
JSONObject e = jArray.getJSONObject(i);
String s = e.getString("post");
JSONObject jObject = new JSONObject(s);
Toast.makeText(context,jObject.getString("email")+":"+jObject.getString("pass") , duration).show();
nemail[i]=jObject.getString("email");
npass[i]=jObject.getString("pass");
}
在日誌中的貓,我可以看到:JSON字符串必須以 「{」 ......
能你在日誌中輸出JSON對象,然後在這裏發佈呢?有時候,如果你在開始時有額外的信息(比如PHP警告或其他東西),直到你看到從API返回的實際數據時纔會知道。 – 2012-03-30 04:27:26
從與Java最後一塊相關的異常行#將有所幫助 – 2012-03-30 04:28:57
這意味着您的網址存在一些問題。檢查瀏覽器中的網址,看看你得到了什麼。否則,在你的'doPost(url,kvpair)'方法中存在一些問題 – BBdev 2012-03-30 04:31:01