json格式请求接口-------------------------------------------------------------- public void loadData(String httpUrl,JsonObject jsonString, BaseUrlCallback baseUrlCallback) { HiLog.info(LABEL_LOG, "请求接口=========="+ httpUrl); HiLog.info(LABEL_LOG,httpUrl+"参数=========="+ jsonString.toString()); RequestBody requestBody = RequestBody.create(mediaType, jsonString.toString()); Request requestPost = new Request.Builder() .url(httpUrl) .post(requestBody) .build(); Call call = okHttpClient.newCall(requestPost); call.enqueue(new Callback() { @Override public void onFailure(Call call, IOException e) { //ToastDialog只能在主线程执行,所以获取主线程供子线程中创建ToastDialog,下同 getMainTaskDispatcher().syncDispatch(() -> new ToastDialog(BaseAbSlice.this) .setText("请求失败,请检查网络连接是否正常") .show()); e.printStackTrace(); } @Override public void onResponse(Call call, Response response) throws IOException { if (response.body() != null) { String result = response.body().string(); HiLog.info(LABEL_LOG, httpUrl+"返回的结果=========="+result); JSONObject jsonObject = JSONObject.parseObject(result); baseUrlCallback.onSuccess(jsonObject,httpUrl); } } 调用方法
JsonObject jsonString=new JsonObject(); jsonString.addProperty("meetingId", mettingListBean.getData()); loadData(这里写url,jsonString,this);
-------------------------------------------------------------------------------------------
用到的初始化信息
MediaType mediaType=MediaType.parse("application/json; charset=utf-8");; OkHttpClient okHttpClient=new OkHttpClient();;;//网络访问请求对象 JsonObject jsonString=new JsonObject(); Gson gson = new GsonBuilder() .serializeNulls() .create();
——----------------------------------------------------------------------------------------------
//回调子定义接口()
package xxxxxxxxxxxxxx写自己的包名;
import com.alibaba.fastjson.JSONObject; import okhttp3.Call; import okhttp3.Response; import java.io.IOException; public interface BaseUrlCallback { void onError(IOException var2); void onSuccess(JSONObject jsonObject, String url) throws IOException; }