当Android应用程序发送此对象时,我可以在PHP应用程序中读取JSON对象吗? 我不知道是否允许我在easy php中使用json_decode() 这是用于将json对象从android发送到php应用程序的代码
尝试{ 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对象答案 0 :(得分:0)
你这样做:
httppost.setHeader("json", json.toString());
设置标头,而不是POST参数。在PHP中,您希望这样做:
$decoded = json_decode($_SERVER['HTTP_JSON'], true);