温馨提示:这篇文章已超过239天没有更新,请注意相关的内容是否还可用!
Android中发送JSON数据可以使用HttpURLConnection或者HttpClient来实现。需要创建一个JSON对象,将需要发送的数据放入该对象中,然后将JSON对象转换为字符串格式,最后将字符串发送给服务器。
示例代码如下:
try {
// 创建JSON对象
JSONObject jsonObject = new JSONObject();
// 添加需要发送的数据
jsonObject.put("name", "John");
jsonObject.put("age", 25);
// 将JSON对象转换为字符串
String jsonStr = jsonObject.toString();
// 创建URL对象
URL url = new URL("http://www.example.com/api");
// 打开连接
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// 设置请求方法为POST
connection.setRequestMethod("POST");
// 设置请求头部信息
connection.setRequestProperty("Content-Type", "application/json");
connection.setRequestProperty("Accept", "application/json");
// 启用输出流
connection.setDoOutput(true);
// 获取输出流
OutputStream outputStream = connection.getOutputStream();
// 将JSON字符串写入输出流
outputStream.write(jsonStr.getBytes());
// 关闭输出流
outputStream.close();
// 获取响应码
int responseCode = connection.getResponseCode();
// 判断请求是否成功
if (responseCode == HttpURLConnection.HTTP_OK) {
// 获取响应数据
InputStream inputStream = connection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
String line;
StringBuilder response = new StringBuilder();
while ((line = reader.readLine()) != null) {
response.append(line);
}
// 关闭输入流
reader.close();
// 处理响应数据
String responseData = response.toString();
// TODO: 对响应数据进行处理
} else {
// 请求失败
// TODO: 处理请求失败的情况
}
// 关闭连接
connection.disconnect();
} catch (Exception e) {
e.printStackTrace();
}
以上代码使用HttpURLConnection发送JSON数据到指定的URL,并获取服务器返回的响应数据。创建一个JSONObject对象,并使用put方法添加需要发送的数据。然后,将JSONObject对象转换为字符串格式,使用getBytes方法将字符串写入输出流。获取服务器的响应数据并进行处理。