【发布时间】:2020-01-05 22:54:53
【问题描述】:
我正在尝试制作一个基于服务器-客户端套接字通信的简单字典程序。我正在尝试将用户单词和含义输入保存为 JSON 文件(这是稍后搜索的字典数据),但是当我添加查询时,它最终会出现重复的 JSON 对象
例如,如果我添加happy,然后添加weather 和hello,则写入JSON 文件的结果是 如下所示
{"hello":"greeting"}{"happy":"joy","hello":"greeting"}
{"happy":"joy","weather":"cold","hello":"greeting"}`
而不是得到
{"hello":"greeting"}{"happy":"joy"}{"weather":"cold"} 如我所愿
我该如何解决这个问题?
我的那个函数的代码是
case "add":{
FileWriter dictionaryWriter = new FileWriter("dictionary.json",true);
//split command again into 2 part now using delimiter ","
String break2[] = msgBreak[1].split(",");
String word = break2[0];
String meaning = break2[1];
dictionary.put(word, meaning);
System.out.println("Writing... " + word+":"+meaning);
dictionaryWriter.write(dictionary.toString());
//flush remain byte
dictionaryWriter.flush();
//close writer
dictionaryWriter.close();
break;}
此函数与其他字典函数处于 while(true) 循环中
我试图删除附加文件部分,但是当我删除 (,true) 部分时,重复错误停止了,但是每当我获得新连接时,都会创建新的字典文件,而不是保存所有数据。
如果有人能帮我解决这个问题,我将不胜感激! 提前谢谢你。
【问题讨论】:
-
使用 hashmap 或 arraymap .. 它将替换您以前的数据。
标签: java json duplicates