1、导入依赖:需要在项目中添加OkHttp库的依赖,在你的build.gradle文件中添加以下行:

implementation 'com.squareup.okhttp3:okhttp:4.9.0'
2、创建JSON数据:使用org.json包中的类来构建JSON对象或数组,创建一个包含用户名和密码的JSON对象:
JSONObject obj = new JSONObject();
try {
obj.put("UserName", "user1");
obj.put("UserPwd", "123456");
} catch (JSONException e) {
e.printStackTrace();
}
3、设置请求头:指定Content-Type为application/json,表示发送的数据是JSON格式:
MediaType type = MediaType.parse("application/json;charset=utf-8");
4、创建RequestBody:将JSON对象转换为字符串并创建RequestBody:
RequestBody RequestBody2 = RequestBody.create(type, "" + obj.toString());
5、构建请求:使用OkHttpClient创建HTTP请求,并指定URL、请求方法(POST)及RequestBody:

OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("http://172.20.10.7:8080/transportservice/action/user_login.do")
.post(RequestBody2)
.build();
6、发送请求并处理响应:异步发送请求并处理服务器响应:
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if (response.isSuccessful()) {
// 解析响应数据
String responseData = response.body().string();
parseJSONWithJSONObject(responseData);
}
}
});
7、解析JSON响应:使用org.json包中的类解析服务器返回的JSON数据:
private void parseJSONWithJSONObject(String jsonData) {
try {
JSONObject object = new JSONObject(jsonData);
String name = object.getString("RESULT");
Log.d("name", "结果是:" + name);
} catch (JSONException e) {
e.printStackTrace();
}
}
相关问题与解答
问题1:如何在Android中使用OkHttp发送GET请求?
答:要使用OkHttp发送GET请求,可以使用OkHttpClient的newCall方法,并通过Request.Builder设置URL和方法类型为GET。

Request request = new Request.Builder()
.url("http://example.com/api/data")
.get()
.build();
client.newCall(request).enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
e.printStackTrace();
}
@Override
public void onResponse(Call call, Response response) throws IOException {
if (response.isSuccessful()) {
// 处理响应数据
}
}
});
问题2:如何处理网络请求中的异常情况?
答:在发送网络请求时,可以通过捕获IOException来处理可能出现的异常情况,在请求失败时记录错误日志或显示错误信息给用户,还可以检查HTTP响应码来确定请求是否成功,并根据不同的响应码进行相应的处理。
以上内容就是解答有关“安卓网络请求传json数据”的详细内容了,我相信这篇文章可以为您解决一些疑惑,有任何问题欢迎留言反馈,谢谢阅读。