我是 Java 的新手,正在尝试制作 native android 应用程序,其中包括对 API 服务器进行 HTTP 调用。现在我的问题是使用一些 JSON 数据进行 HTTP POST(apache httpPost 和 httpClient)调用。因此,为了从 JSONObject 中创建 StringEntity,我正在编写这行代码:
StringEntity userDataStringEntity = new StringEntity(userDataString);
其中 StringEntity 是从 import org.apache.http.entity.StringEntity;
导入的。
我已尝试搜索此问题,但发现具有相同“字符串”参数的相同方法。
这里有一些链接,但对我没有帮助:
How to send a JSON object over HttpClient Request with Android?
最佳答案
这确实很奇怪,默认情况下 StringEntity 对应字符集“ISO-8859-1”,这告诉我 userDataString
在另一个字符集中。
无论哪种方式,尝试:
StringEntity userDataStringEntity = new StringEntity(userDataString, "UTF-8");
这适用于 utf-8 编码的字符串。
关于java - 来自 JSONObject 的 StringEntity 对象给出 java.io.UnsupportedEncodingException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28671593/