StringEntity/string 到 HttpEntity

StringEntity/string to HttpEntity

我正在使用 loopj 库 (https://github.com/loopj/android-async-http),它最近被更改为与 API 23.

兼容

提交 'put' 请求时,我会将 StringEntity 传递到 put 方法中,如下所示:

client.put(CallApplication.getContext(),url, request.StringEntity, responseHandler);

我的 StringEntity 是一个通过以下操作转换为 Json 的对象:

public static StringEntity getJsonFromObject(Object object) {

    String json = new Gson().toJson(object);
    StringEntity stringEntity = null;
    try {
        stringEntity = new StringEntity(json, HTTP.UTF_8);
        stringEntity.setContentType("text/json");
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
    }

    return stringEntity;
}

现在我需要使用 HttpEntity 来代替,我不清楚如何获得它。如何将我的 json 字符串放入 HttpEntity?

You can add namevalue pair to set entity

ArrayList nvp= new ArrayList(); nvp.add(new BasicNameValuePair("keyname", jsonvalue));

client.setEntity(新的 UrlEncodedFormEntity(nvp));

正好有一个

cz.msebera.android.httpclient.entity.StringEntity

可以使用。谁知道!

无论如何干杯