我正在使用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
中?
碰巧有一个
cz.msebera.android.httpclient.entity.StringEntity
可供使用。谁知道呢!
无论如何干杯
您可以添加名称值对来设置实体
ArrayList nvp=新的ArrayList();nvp.add(新的BasicNameValuePair("keyname",jsonvalue));
client.setEntity(新的UrlEncodedFormEntity(nvp));