java - json-Java中简单的utf-8解析

标签 java json parsing utf-8

我正在尝试使用 json-simple-1.1.1 解析 JSON

public static void main(String[] args) throws ParseException, IOException{

    BufferedReader buff = new BufferedReader(new FileReader("src/qqqqqqqq/json"));

    String line = null;

    while((line = buff.readLine()) != null){

        JSONParser parser = new JSONParser();
        Object obj = (Object) parser.parse(line);
        JSONObject jsonObj = (JSONObject) obj;

        System.out.println((String)jsonObj.get("name"));
    }
}

我的 JSON 源文件使用没有 BOM 的 UTF-8

{"name":"ą"}
{"name":"ć"}
{"name":"ń"}
{"name":"ź"}
{"name":"ż"}
{"name":"ó"}

println 的输出:

Ä…
ć
Ĺ„
Ĺş
ĹĽ
Ăł

我做错了什么?

最佳答案

FileReader 使用默认字符集,该字符集不能是 UTF-8。

使用

new BufferedReader(new InputStreamReader(new FileInputStream("src/qqqqqqqq/json"), "UTF-8"));

相反。

关于java - json-Java中简单的utf-8解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34472432/

相关文章:

java - Android JNI字符串问题

java - 为什么我的 ObjectInput/OutputStrem 实例没有创建?

javascript - 将 JSON 对象从 JavaScript 传递到 Android

json - '溢出错误 : Maximum recursion level reached' while exporting to json from pandas

sql - t-sql 用 csv 字符串查找特定值

java - 无法运行共享 Groovy 库函数

java - 了解 Java Wait 和 Notify 方法

java - 在 JSON 中追加或删除数据

java - 如何解析一个字符串与另一个字符串的比较?

c - 解析器树或表达式树