我正在嘗試爲我的android應用程序構建一個web服務。 但我有問題發送parametres到php。 我正在使用這些代碼塊到Http-Post。如何從Android到PHP獲取json對象
public String requestJson(String method, JSONObject parameters) {
try {
int TIMEOUT_MILLISEC = 10000;
HttpParams httpParams = new BasicHttpParams();
HttpConnectionParams.setConnectionTimeout(httpParams, TIMEOUT_MILLISEC);
HttpConnectionParams.setSoTimeout(httpParams, TIMEOUT_MILLISEC);
HttpClient client = new DefaultHttpClient(httpParams);
String tmpUrl = serviceUrl.trim() + (serviceUrl.trim().endsWith("/") ? method : "/" + method);
HttpPost request = new HttpPost(tmpUrl);
request.setHeader(HTTP.CONTENT_TYPE, "application/json; charset=utf-8");
if (parameters != null)
{
request.setEntity(new StringEntity(parameters.toString(), HTTP.UTF_8));
}
HttpResponse response = client.execute(request);
final int statusCode = response.getStatusLine().getStatusCode();
final String jsonResponse = EntityUtils.toString(response.getEntity());
if (statusCode != HttpStatus.SC_OK) {
Log.w(TAG, "Error in web request: " + statusCode);
Log.w(TAG, jsonResponse);
return null;
} else {
Log.i(TAG, jsonResponse);
return jsonResponse;
}
} catch (Exception e) {
Log.e(TAG, "Error in fetching JSON due to -> " + e.toString());
}
return null;
}
public String testFunction() {
try {
JSONObject param = new JSONObject();
param.put("testID", 123);
JsonCevabi = requestJson("test.php", param);
if (JsonCevabi != null) {
JSONObject jo = new JSONObject(JsonCevabi);
JSONArray ja = new JSONArray(jo.getString("d"));
@SuppressWarnings("unchecked")
List<SampleEntity> resultList = (List<SampleEntity>) new Gson().fromJson(ja.toString(), new TypeToken<List<SampleEntity>>() {
}.getType());
return JsonCevabi;
}
else
return null;
} catch (Exception e) {
return null;
}
}
而我的php代碼是這樣的;
<?php
$id = json_decode($_POST['testID']);
$json = "{d:[{sample1:'".$id."',sample2:'value12'}]}";
$response = $_GET["callback"] . $json;
echo $response;
?>
我想要做的是發送TestID參數爲php。而且我正在費力地讓我回到這個價值。
但我正在逐漸{d:[{SAMPLE1: '',SAMPLE2: 'value12'}]}
我要的是{d:[{SAMPLE1: '123',SAMPLE2: 'value12' }]}
我缺少什麼?
編輯:我發現了類似的問題,但沒有幫助; Android JSON HttpClient to send data to PHP server with HttpResponse
我試過你說的。但沒有運氣。我必須做錯事。 – 2013-05-08 20:56:01