无法从json接收正确格式的字符串

u2nhd7ah  于 2021-07-12  发布在  Java
关注(0)|答案(1)|浏览(257)

我正在尝试读取.jsp文件中的.json文件。我想读的文字是(波兰语):“wewnę“托兹尼”。相反,我收到的是这样的信息:“wewn�?“托兹尼”。
我使用的代码似乎不起作用:

try {
        JSONObject jsonObject = (JSONObject) parser.parse(new FileReader(FILE_PATH)); 
        JSONArray tab = (JSONArray) jsonObject.get("tab");

        for (int i = 0; i < tab.size(); i++) {
            JSONObject jsonObjectRow = (JSONObject) tab.get(i);

            byte[] raw =  jsonObjectRow.get("a").toString().getBytes(ISO_8859_1);
            String a = new String(raw, UTF_8);
            out.println(a);
        }     
    } 
    catch (FileNotFoundException e) {
        e.printStackTrace();
    }

我尝试了以下几种编码和所有解决方案:https://www.baeldung.com/java-string-encode-utf-8. 不幸的是,没有什么能使它正常工作。
如何解决此问题?

r3i60tvu

r3i60tvu1#

好吧,我想出来了!
在代码中,它只能是:

String a = jsonObjectRow.get("a").toString();

文件应该以windows-1250编码保存!
感谢@marcinj的建议!

相关问题