我一直在尝试发送带有一些用户数据的 POST 请求。该请求似乎不完整。我需要这条线的帮助
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/json");
StringEntity postingString = new StringEntity(gson.toJson(pj));
RequestBody body = RequestBody.create(mediaType, "{\n \"url\":\"https://okirizuri.herokuapp.com/check\",\"phone\":" + phone + "\"}");
Request request = new Request.Builder()
.url("https://okirizuri.herokuapp.com/lipa")
.post(body)
.addHeader("content-type", "application/json")
.addHeader("cache-control", "no-cache")
.build();
String phone = editText.getText().toString().trim();
RequestBody body = RequestBody.create(mediaType, "{\n \"url\":\"https://okirizuri.herokuapp.com/check\",\"phone\":" + phone + "\"}");
电话是一个变量,它有一个用户号码,但它没有在端点上显示
最佳答案
在您的示例中,您在\"phone\": 之后缺少一个额外的双引号:这使其无效 json。您在电话号码的右侧转义了引号,但在左侧转义了引号。
RequestBody body = RequestBody.create(mediaType, "{\n \"url\":\"https://okirizuri.herokuapp.com/check\",\"phone\":" + phone + "\"}");
JSON:
{
"url": "https://okirizuri.herokuapp.com/check",
"phone": 555-555-5555"
}
应该是:
RequestBody body = RequestBody.create(mediaType, "{\n \"url\":\"https://okirizuri.herokuapp.com/check\",\"phone\":\"" + phone + "\"}");
JSON:
{
"url": "https://okirizuri.herokuapp.com/check",
"phone": "555-555-5555"
}
关于java - 在 OkHttpClient 中使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54204686/