2015-12-26 64 views
3

我试图用解析JSON JSON-简单1.1.1JSON-简单的UTF-8解析Java中

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")); 
    } 
} 

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

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

println输出:

Ä… 
ć 
Ĺ„ 
Ĺş 
ĹĽ 
Ăł 

我在做什么错了?

+0

[JSON字符编码]的可能重复(http://stackoverflow.com/questions/3995559/json-character-encoding) – Mohit

回答

1

A FileReader使用的默认字符集不能是UTF-8。

使用

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

代替。

+0

谢谢,很多:) –