json-simple utf-8解析Java

时间:2015-12-26 14:55:34

标签: 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源文件使用UTF-8无BOM

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

println的输出:

Ä…
ć
Ĺ„
Ĺş
ĹĽ
Ăł

我做错了什么?

1 个答案:

答案 0 :(得分:1)

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

使用

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

代替。