我刚开始学习java和JSON,对于我的项目,我需要用java创建JSON文件,但是在JSONArray的末尾,它放置了\ r \ ñ,我如何删除/制作它,以便程序不会结束。 我的代码如下所示:如何删除JSON文件中的 r n
JSONObject jsonobj = new JSONObject();
JSONArray jsonnames = new JSONArray();
JSONArray jsonrooms = new JSONArray();
String[] rooms =["10","11","13"];
String[] names =["8028047","8099665","8100092","8100356","8100974"];
for(int i = 0; i <names.length; i++){
jsonnames.add(names[i]);
}
for(int i = 0; i < rooms.length; i++){
jsonrooms.add(rooms[i]);
}
jsonobj.put("names", jsonnames);
jsonobj.put("rooms", jsonrooms);
try {
FileWriter writer = new FileWriter(References.dataJson);
writer.write(jsonobj.toJSONString());
writer.close();
-------------update
BufferedReader read = new BufferedReader(new FileReader(References.dataJson));
String line = read.readLine();
System.out.println(line);
line.replaceAll("\\r\\n", "");
System.out.println(line);
PrintWriter write = new PrintWriter(References.dataJson);
write.println(line);
---------------
}
catch (IOException e) {
System.out.println("Error: FileWriter in main failed...");
e.printStackTrace();
}
结果:
{"rooms": ["10","11","13\r\n"],"names":["8028047","8099665","8100092","8100356","8100974\r\n"]}
我试图重写了的FileReader和PrintWriter的文件,并使用就行了.replace,但没有奏效。我用.replace(“\ r \ n”,“”);但那不起作用。
不是它'的replaceAll()'? – redFIVE
你的代码是无效的java,我发现很难相信你的json库是随机添加字符到你的一些数组值的末尾。我怀疑真正的问题在于,当你将它们添加到json结构中时,它们中的一些房间和名称值有回车换行符。请编辑您的问题,以显示您是如何获取房间和名称的。 – Kenster