来自 JSONObject 的 StringEntity 对象给出 java.io.UnsupportedEncodingException
StringEntity object from JSONObject gives java.io.UnsupportedEncodingException
我是 Java 的新手,正在尝试制作本机 android 应用程序,其中包括对 API 服务器进行 HTTP 调用。现在我的问题是使用一些 JSON 数据进行 HTTP POST(apache httpPost 和 httpClient)调用。因此,为了从 JSONObject 中创建 StringEntity,我正在编写这行代码:
StringEntity userDataStringEntity = new StringEntity(userDataString);
其中 StringEntity 是从 import org.apache.http.entity.StringEntity;
导入的。
我已尝试搜索此问题,但我找到了具有相同 "string" 参数的相同方法。
这里有一些链接,但对我没有帮助:
How to send a JSON object over Request with Android?
这绝对很奇怪,默认情况下 StringEntity 用于字符集 "ISO-8859-1",这告诉我 userDataString
在另一个字符集中。
无论哪种方式,请尝试:
StringEntity userDataStringEntity = new StringEntity(userDataString, "UTF-8");
这适用于 utf-8 编码的字符串。
可能不相关,但我在编译时遇到错误,因为新的 StringEntity(str) 没有包含在 try catch 中。
可能对某人有用:)
我是 Java 的新手,正在尝试制作本机 android 应用程序,其中包括对 API 服务器进行 HTTP 调用。现在我的问题是使用一些 JSON 数据进行 HTTP POST(apache httpPost 和 httpClient)调用。因此,为了从 JSONObject 中创建 StringEntity,我正在编写这行代码:
StringEntity userDataStringEntity = new StringEntity(userDataString);
其中 StringEntity 是从 import org.apache.http.entity.StringEntity;
导入的。
我已尝试搜索此问题,但我找到了具有相同 "string" 参数的相同方法。
这里有一些链接,但对我没有帮助:
How to send a JSON object over Request with Android?
这绝对很奇怪,默认情况下 StringEntity 用于字符集 "ISO-8859-1",这告诉我 userDataString
在另一个字符集中。
无论哪种方式,请尝试:
StringEntity userDataStringEntity = new StringEntity(userDataString, "UTF-8");
这适用于 utf-8 编码的字符串。
可能不相关,但我在编译时遇到错误,因为新的 StringEntity(str) 没有包含在 try catch 中。
可能对某人有用:)