如果是key value的json数据用以下三种都可以,如果有对象类型的数据,建议使用方法一map
方法一:Map 通过 GSON 转为 JSON
try {
Map<String,String> priceMap = new HashMap<>();
priceMap.put("page","1");
priceMap.put("word","西红柿炒鸡蛋");
MediaType mediaType = MediaType.parse("application/json; charset=utf-8");
Gson gson = new GsonBuilder().disableHtmlEscaping().create();
RequestBody requestBody = FormBody.create(mediaType, gson.toJson(priceMap));
Log.d(TAG,gson.toJson(priceMap));
Request.Builder builder = new Request.Builder().url(url);
builder.post(requestBody).build();
Call call = client.newCall(builder.build());
Response resp = call.execute();
if (resp.isSuccessful()) {
String response = resp.body().string();
Log.d(TAG,"返回="+response);
}
} catch (Exception e) {
e.printStackTrace();
}
方法二:表单 form-data
try {
MultipartBody.Builder bodyBuilder = new MultipartBody
.Builder()
.setType(MultipartBody.FORM);
bodyBuilder.addFormDataPart("word", "西红柿炒鸡蛋");
Request.Builder builder = new Request.Builder().url(url);
builder.post(bodyBuilder.build());
Call call = client.newCall(builder.build());
Response resp = call.execute();
if (resp.isSuccessful()) {
String response = resp.body().string();
Log.d(TAG,"返回="+response);
}
} catch (Exception e) {
e.printStackTrace();
}
方法三:JSONObject
try {
JSONObject eqcjson = new JSONObject();
eqcjson.put("word", "西红柿炒鸡蛋");
eqcjson.put("page", "1");
Log.d(TAG,eqcjson.toString());
RequestBody bodyBuilder = RequestBody.create(MediaType.parse("application/json; charset=utf-8"), eqcjson.toString());
Request.Builder builder = new Request.Builder().url(url);
builder.post(bodyBuilder).build();
Call call = client.newCall(builder.build());
Response resp = call.execute();
if (resp.isSuccessful()) {
String response = resp.body().string();
Log.d(TAG,"返回="+response);
}
} catch (Exception e) {
e.printStackTrace();
}