最后,我成功将JSONObject发送到服务器。
我将此代码用于android部分:
new Thread(new Runnable() { @Override public void run() { OutputStream os = null; InputStream is = null; HttpURLConnection conn = null; try { //constants URL url = new URL("http://192.168.43.64/happiness_barometer/php_input.php"); JSonObject jsonObject = new JSonObject(); jsonObject.put("rate", "1"); jsonObject.put("comment", "OK"); jsonObject.put("category", "pro"); jsonObject.put("day", "19"); jsonObject.put("month", "8"); jsonObject.put("year", "2015"); jsonObject.put("hour", "16"); jsonObject.put("minute", "41"); jsonObject.put("day_of_week", "3"); jsonObject.put("week", "34"); jsonObject.put("rate_number", "1"); String message = jsonObject.toString(); conn = (HttpURLConnection) url.openConnection(); conn.setReadTimeout( 10000 ); conn.setConnectTimeout( 15000 ); conn.setRequestMethod("POST"); conn.setDoInput(true); conn.setDoOutput(true); conn.setFixedLengthStreamingMode(message.getBytes().length); //make some HTTP header nicety conn.setRequestProperty("Content-Type", "application/json;charset=utf-8"); conn.setRequestProperty("X-Requested-With", "XMLHttpRequest"); //open conn.connect(); //setup send os = new BufferedOutputStream(conn.getOutputStream()); os.write(message.getBytes()); //clean up os.flush(); //do somehting with response is = conn.getInputStream(); //String contentAsString = readIt(is,len); } catch (IOException e) { e.printStackTrace(); } catch (JSonException e) { e.printStackTrace(); } finally { //clean up try { os.close(); is.close(); } catch (IOException e) { e.printStackTrace(); } conn.disconnect(); } } }).start();而这在PHP部分:
$json = file_get_contents('php://input');$obj = json_depre($json);$rate = $obj->{'rate'};$comment = $obj->{'comment'};$category = $obj->{'category'};$day = $obj->{'day'};$month = $obj->{'month'};$year = $obj->{'year'};$hour = $obj->{'hour'};$minute = $obj->{'minute'};$day_of_week = $obj->{'day_of_week'};$week = $obj->{'week'};$rate_number = $obj->{'rate_number'};try { $bdd = new PDO('mysql:host=localhost;dbname=happiness_barometer;charset=utf8', 'utilisateur', '');} catch (Exception $e) { die('Erreur : '.$e->getMessage());}$sql = $bdd->prepare('INSERT INTO rates (rate, comment, category, day, month, year, hour, minute, day_of_week, week, rate_number) VALUES (:rate, :comment, :category, :day, :month, :year, :hour, :minute, :day_of_week, :week, :rate_number)');if (!empty($rate)) { $sql->execute(array( 'rate' => $rate, 'comment' => $comment, 'category' => $category, 'day' => $day, 'month' => $month, 'year' => $year, 'hour' => $hour, 'minute' => $minute, 'day_of_week' => $day_of_week, 'week' => $week, 'rate_number' => $rate_number));}希望它会帮助别人;)



