我有一个 ja.json 文件,其中包含 selenium 框架的键值对:
"key": [ "私はあなたを爱しています!",
我已将文件保存为 UTF-8 格式。但是当我尝试从 json 读取值时,我得到的字符串为“??????”
我正在使用以下代码:
Object obj = parser.parse(new FileReader(filePath));
JSONObject jsonObject = (JSONObject) obj;
String text= (String) jsonObject.get(key);
String expectedValue = new String(text.getBytes("UTF-8"),"UTF-8");
我还能做什么来从 JSON 文件(或任何其他格式,如果需要)获取日语字符并发送?
最佳答案
您需要使用正确的字符集读取文件,例如:
Object obj = parser.parse(new InputStreamReader(
new FileInputStream(filePath), StandardCharsets.UTF_8));
FileReader
将使用平台编码您系统上的任何内容。
在读取编码错误的文件后任何修复编码的尝试都将失败。所以你的路线
String expectedValue = new String(text.getBytes("UTF-8"),"UTF-8");
没用。
关于java - 从 json : wrong characters 读取日文文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46281742/