我有一个 JSON 格式的字符串。有像 \u0025
这样的字符,我需要将它们转换为它们引用的实际字符。
Java中有没有直接的方法可以将这些字符转换为实际字符?
类似myString.convertToUTF-8();
我正在调用 Graph API我收到 JSON 格式的响应。我想使用 JSON parser或 JavaScript 解析器来解析 JSON 并获取值。这就是我所需要的。
当我将响应分配给变量时,我使用了 Google Chrome 的控制台。它给了我一个错误,告诉我Uncaught SyntaxError:意外的标识符(…)
。
在 JavScript 中,我想使用 JSON.parse(jsonString)
。但实际上我无法将值分配给 jsonString
。
为了在 Java 中转换这些字符,我已经尝试过以下几行,它们根本不会改变字符串!
String responseFromFB = http.sendRequest(url);
byte[] b = responseFromFB.getBytes();
String str= new String(b, "UTF-8");
这是我拥有的 sendRequest() 函数!
private String httpReq(String URL, String QueryString) throws Exception
{
String url = URL;
String urlParameters = QueryString;
URL obj = new URL(url);
HttpsURLConnection con = (HttpsURLConnection) obj.openConnection();
con.setRequestMethod("GET");
con.setRequestProperty("Accept-Charset", "UTF-8");
con.setRequestProperty("Content-Type", "application/json; charset=utf-8");
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(urlParameters);
wr.flush();
wr.close();
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream(), "UTF-8"));
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
return response.toString();
}
最佳答案
我所需要的只是写
JSONObject jsonResponse = new JSONObject(responseFromFB);
String decodedResponseFromFB = jsonResponse.toString();
关于javascript - 在 Java 中将 ANSI 转换为 UTF-8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32256477/