このオブジェクトが Android アプリケーションによって送信された場合、PHP アプリケーションで JSON オブジェクトを読み取ることはできますか? 簡単なphpでjson_decode()を使用できるかどうかわかりません。これは、Androidからphpアプリケーションにjsonオブジェクトを送信するためのコードです
{ Log.i("-------------", " _ _ _ __ 4 _ _ _ ");を試してください。
httpParams = new BasicHttpParams();
Log.i("-------------", "_____________5_______________");
HttpConnectionParams.setConnectionTimeout(httpParams, TIMEOUT_MILLISEC);
Log.i("-------------", "________________6____________");
HttpConnectionParams.setSoTimeout(httpParams, TIMEOUT_MILLISEC);
Log.i("-------------", "________________7____________");
httpclient = new DefaultHttpClient(httpParams);
Log.i("-------------", "_______________8_____________");
httppost = new HttpPost(url);
Log.i("-------------", "_________________9___________");
// preciser le type d'envois
httppost.setHeader("Content-Type", "application/json");
Log.i("-------------", "__________________10__________");
json = new JSONObject();
Log.i("-------------", "________________11____________");
json.put("action", action);
Log.i("-------------", "_________________12___________");
json.put("User", User);
Log.i("-------------", "_________________13___________");
json.put("Password", Password);
Log.i("-------------", "_________________14___________");
json.put("IMEI", "356299046324945");
Log.i("-------------", "__________________15__________");
httppost = new HttpPost(url);
Log.i("-------------", "___________________16_________");
httppost.setHeader("json", json.toString());
Log.i("-------------", "____________________17________");
HttpResponse response = httpclient.execute(httppost);
Log.i("-------------", "_______________________18_____");
HttpEntity entity = response.getEntity();
Log.i("-------------", "________________________19____");
//******************************************
if (entity != null) {
Log.i("-------------", "___________________20__________");
String result = null;
Log.i("-------------", "_________________21____________");
try{
Log.i("-------------", "__________________22___________");
InputStream instream = entity.getContent();
Log.i("-------------", "___________________23__________");
reader = new BufferedReader(new InputStreamReader(instream,"iso-8859-1"),8);
Log.i("-------------", "____________________24_________");
sb = new StringBuilder();
Log.i("-------------", "_____________________25________");
line = null;
Log.i("-------------", "________________26_____________");
while ((line = reader.readLine()) != null) {
Log.i("-------------", "___________________27__________");
sb.append(line + "\n");
Log.i("-------------", "_________________28____________");
}
Log.i("-------------", "______________________29_______");
instream.close();
Log.i("-------------", "____________________30_________");
result=sb.toString();
Log.i("-------------", "___________________31_________");
// Log.i("log_tag", "Error converting result "+result.toString());
Log.i("-------------", "_________________32____________");
}
これはphpでjsonオブジェクトを読み取るコードです
$decoded = json_decode($_GET['json'], true);
//$decoded = json_decode($_POST['json']);
// do something with data here
$Longitude = $decoded['action'];
$Lattetude = $decoded['User'];
$l= $decoded['Password'];
$la = $decoded['IMEI'];
しかし、実行するとこのエラーが発生します
Error parsing data org.json.JSONException: Value <br of type java.lang.String cannot be converted to JSONObject
PHP アプリケーションが $_GET() から json オブジェクトを抽出しなかったと思います