2014-05-04 26 views
0

假設我的鏈接和參數,如如何在android中的HttpURLConnection中傳遞JsonObject?什麼時候使用POST方法?

url :https/example.com/folder/something 
parameters : JsonObject. such as 
{ 
    "foldername" : "imageFolder", 
    "jsonArray" : ["abc","sdsf","sfsd"], 
    "location" : "Dhaka" 
} 

如何使用POST方法通過URL在Android中發送JsonObject?請幫助任何人。

+0

的可能重複的[如何通過在HttpURLConnection的JSON對象(http://stackoverflow.com/questions/8803006/how-to-pass-a-json-object-in-httpurlconnection) – josephus

回答

0

HttpURLConnection的文檔已經有一個如何將數據發佈到服務器的示例。我已經詳細闡述了這一點,以顯示創建JSONObject並將數據寫入OutputStream。

try { 
    // Create parameters JSONObject 
    String[] jsonArray = new String[] { "abc", "sdsf", "sfsd" }; 
    JSONObject parameters = new JSONObject(); 
    parameters.put("foldername", "imageFolder"); 
    parameters.put("jsonArray", new JSONArray(Arrays.asList(jsonArray))); 
    parameters.put("location", "Dhaka"); 

    // Open connection to URL and perform POST request. 
    URL url = new URL("https://example.com/folder/something"); 
    HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); 
    urlConnection.setDoOutput(true); // Set Http method to POST 
    urlConnection.setChunkedStreamingMode(0); // Use default chunk size 

    // Write serialized JSON data to output stream. 
    OutputStream out = new BufferedOutputStream(urlConnection.getOutputStream()); 
    BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(out, "UTF-8")); 
    writer.write(parameters.toString()); 

    // Close streams and disconnect. 
    writer.close(); 
    out.close(); 
    urlConnection.disconnect(); 

} catch (MalformedURLException e) { 
    e.printStackTrace(); 
} catch (JSONException e) { 
    e.printStackTrace(); 
} catch (IOException e) { 
    e.printStackTrace(); 
} 
相關問題