如何使用 AsyncHttpClient 发送 JSON 正文?

How can I send a JSON body with AsyncHttpClient?

我正在使用 AsyncHttpClient 库从一个非常基本的 Android 应用发出 HTTP 请求。现在,我只需要使用 JSON 主体发出 POST 请求(这是强制性约束,因为我必须使用 REST 服务,所以需要一个包含用户名和密码的格式的请求。

不太了解 Android 开发和相关库,我尝试向 Google 发出一个简单的 GET 请求,它完美地工作了。然后,我尝试切换到 POST 请求,但从文档看来 post 方法严格需要 RequestParams 参数。 我真的需要发送 JSON:有没有办法用 AsyncHttpClient 发送?我尝试了在网络和 Whosebug 上找到的几种解决方案,但遗憾的是没有一个有效。

最后,作为最后的机会,我愿意切换库(也欢迎向这个方向提出建议 - 至少如果它们像 AsyncHttpClient 那样易于使用,考虑到我的经验不足),但我更愿意坚持我目前的选择。

感谢您的帮助。

首先,我建议你使用 retrofit 库,它简单、有用且可爱
但现在,我们应该知道你是如何做你的 post,
例如,你测试这个:

private static AsyncHttpClient client = new AsyncHttpClient();
RequestParams params = new RequestParams();
params.put("param1", "Test"); 
client.post(Url, params, responseHandler);
JSONObject jsonParams = new JSONObject();
jsonParams.put("param1", "Test");
StringEntity entity = new StringEntity(jsonParams.toString());
client.post(context, Url, entity, "application/json",responseHandler);