Java将json字符串转为utf 8字符串

标签 java json

我的程序中有以下代码:

BufferedReader br = new BufferedReader(new InputStreamReader(
        urlConnection.getInputStream()));

Object obj = null;

try {
    obj = JSONValue.parse(br);
} catch (Exception e) {
    System.out.println(e);
}

response = obj.toString();

问题是它没有将\u... 之类的字符转换为普通字符。例如我得到:

caffÈ 而不是 caffè felicit\u2021 而不是 felicità

我实际上使用的是 json-simple api:http://alex-public-doc.s3.amazonaws.com/json_simple-1.1/index.html .

url 连接到一个页面,该页面向我发送一个 json 文件。

有什么建议吗?

最佳答案

您需要使用 UTF 字符集初始化输入流读取器。以下是您需要更新的内容:

BufferedReader br = new BufferedReader(new InputStreamReader(urlConnection.getInputStream(),"UTF-8"));

关于Java将json字符串转为utf 8字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16853352/

相关文章:

android - 如何制作适当的 HttpPost 从网站获取一些数据?

java - `instanceof` 运算符是否违反里氏替换原则?

javascript - 在ajax成功函数中解析JSON

javascript - 检查我的字符串是否包含数组中的元素

java - Eclipse + Maven -> eclipse.ini

javascript - NodeJS JSONStream 将数据作为一个长字符串返回

javascript - 如何在我的 React 应用程序上提取 json 段落中的特定句子?

java - 如何使用 Jsoup 从网站获取最后 5 篇文章

Java Lambda : How it works in JVM & is it OOP?

java - 在 android 和 ios 的 flutter 应用程序中应用深度链接