如何使用 AndroidAsyncHttp 以 json 格式发送数据

How to send data in json format using AndroidAsyncHttp

我正在尝试通过 AsyncHttpClient 的 post 方法以 json 格式向服务器发送数据,服务器接受这种格式

{
  email : 'foo@bar.com'
  password:'xxxxxx'
  'username:'John Doe'
  'lastname:'john'
}

这是我的代码

JSONObject params = new JSONObject();
params.put("last_name","Karimi");
params.put("username","zahid");
params.put("email","zahid.omerzad@gmail.com");
params.put("password","1234566");

StringEntity entity = new StringEntity(params.toString());
Log.d("entity3",entity+"");

String url = "http://192.168.100.12/users";

client.post(context, url, entity, "application/json", handler);

当我登录实体时,结果如下所示

[Content-Type: text/plain; charset=ISO-8859-1,Content-Length: 496,Chunked: false]

请帮帮我?

我也用这个AsyncHttpClient

我发送 json 数据的方式是

   // postData = your json data

    ByteArrayEntity entity = null;
    try {
        entity = new ByteArrayEntity(postData.toString().getBytes("UTF-8"));
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }

    entity.setContentType(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));

    asyncHttpClient.post(getActivity(), url, entity, "application/json", new AsyncHttpResponseHandler() {

这对我来说很好..希望这会有所帮助..

JSON格式需要服务器端完成转换,客户端只需要在http-body中一一对应即可。