android post json request

在 Android 中,我们可以使用 HttpURLConnection 或者 OkHttp 这两种常用的网络库来发送 POST 请求,并传递 JSON 数据。

使用 HttpURLConnection 发送 POST 请求:

URL url = new URL("http://example.com/api/post");
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/json; charset=UTF-8");
connection.setDoOutput(true);
OutputStreamWriter outputStreamWriter = new OutputStreamWriter(connection.getOutputStream());
outputStreamWriter.write(jsonData.toString());
outputStreamWriter.flush();
outputStreamWriter.close();

其中,jsonData 是一个 JSONObject 或者 JSONArray 对象,它包含了要传递的 JSON 数据。

使用 OkHttp 发送 POST 请求:

OkHttpClient client = new OkHttpClient();
MediaType JSON = MediaType.parse("application/json; charset=utf-8");
RequestBody requestBody = RequestBody.create(JSON, jsonData.toString());
Request request = new Request.Builder()
        .url("http://example.com/api/post")
        .post(requestBody)
        .build();
Response response = client.newCall(request).execute();

在这个例子中,我们使用了 OkHttp 的 OkHttpClient 类来创建一个 HTTP 客户端,使用 RequestBody 类创建一个 RequestBody 对象,该对象包含要传递的 JSON 数据。然后我们使用 Request.Builder 类来创建一个请求对象,最后使用 OkHttpClient 的 newCall() 方法发送请求并获取响应。

需要注意的是,在使用这些网络库发送 POST 请求之前,需要添加网络权限到 AndroidManifest.xml 文件中:

<uses-permission android:name="android.permission.INTERNET" />

以上是使用 HttpURLConnection 和 OkHttp 发送 POST 请求,并传递 JSON 数据的两种常用方法,希望对你有帮助。

  •