1

我有一个 JSON 格式的字符串。有类似的字符\u0025,我需要将它们转换为它们所指的实际字符。

Java中是否有任何直接的方法可以将这些字符转换为实际字符?

就像是myString.convertToUTF-8();

我正在调用Graph API,我得到 JSON 格式的响应。我想使用JSON 解析器或 JavaScript 解析器来解析 JSON 并获取值。这就是我所需要的。

我使用了谷歌浏览器的控制台,当我将响应分配给一个变量时。它给了我一个错误,告诉我Uncaught SyntaxError: Unexpected identifier(…)

在 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();
}
4

1 回答 1

0

我只需要写

JSONObject jsonResponse = new JSONObject(responseFromFB);
String decodedResponseFromFB = jsonResponse.toString();
于 2015-08-27T20:46:17.093 回答