我正在使用带有Java和PHP的okhttp lib。我的Java客户端正在运行以下代码。
public class Connection {
public static final MediaType JSON = MediaType
.parse("application/json; charset=utf-8");
OkHttpClient client = new OkHttpClient();
String post(String url, String json) throws IOException {
RequestBody body = RequestBody.create(JSON, json);
Request request = new Request.Builder().url(url).post(body).build();
Response response = client.newCall(request).execute();
return response.body().string();
}
public static void main(String[] args) throws IOException {
Connection example = new Connection();
String json = "{'input':'test'}";
String response = example.post("http://localhost/android_api/index.php", json);
System.out.println(response);
}
}
在服务器端,我尝试使用下面的代码解码JSON字符串,但我的webservice只返回NULL。
<?php
$rawData = file_get_contents("php://input");
$json = json_decode($rawData);
var_dump($json);
?>
我做错了什么?
答案 0 :(得分:0)
首先,您在主线程上调用http请求,这将导致错误。所以你使用AsyncTask