2016-01-10 43 views
0

我想添加標題「Content-Type」「application/json」。但由於android中的api 23,我無法做到這一點。使用http發送JSON對象到API post

   OutputStream os= null; 
       os=httpclient.getOutputStream(); 
       BufferedWriter bw= new BufferedWriter(new OutputStreamWriter(os)); 

       JSONObject jsonobj = new JSONObject(); 
       jsonobj.put("Name","alpha"); 
       jsonobj.put("Status","Active"); 
       jsonobj.put("Type","Admin"); 
       jsonobj.put("Address","beta"); 
       jsonobj.put("Password","333"); 
       jsonobj.put("PhoneNumber",123); 

       bw.write(jsonobj.toString()); 
       os.close(); 
+1

請編輯你的問題,使其更清楚你問的問題。 – Matthew

+0

我編輯過。請看一下 –

回答

0

我假設你正試圖使網絡調用一些API它希望你添加HeadersHTTP電話你正在和content-type數據爲JSON

如果是你的話,那麼你就必須指定頭的實例相應的類與您正在試圖連接..

例如,如果您正在使用HttpURLConnection 那麼它看起來像這樣

  HttpURLConnection httpURLConnection = (HttpURLConnection)url.openConnection(); 
      httpURLConnection.setDoOutput(true); 
      httpURLConnection.setRequestMethod("POST"); // hear you are telling that it is a POST request, which can be changed into "PUT", "GET", "DELETE" etc. 
      httpURLConnection.setRequestProperty("Content-Type", "application/json"); // here you are setting the `Content-Type` for the data you are sending which is `application/json` 
      httpURLConnection.connect(); 

,當你發佈一些數據到HttpURLConnection的情況下,你可以做這樣的......

  JsonObject jsonObject = new JsonObject(); 
      jsonObject.addProperty("para_1", "arg_1"); 
      jsonObject.addProperty("para_2", "arg_2"); 

      DataOutputStream wr = new DataOutputStream(httpURLConnection.getOutputStream()); 
      wr.writeBytes(jsonObject.toString()); 
      wr.flush(); 
      wr.close();